This change gets rid of most of the shared pointers and useless memory allocations. Also takes advantage of higher-arity bvxor/concat to reduce amount of data sent to the solver. Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>