Working matching.

Successfully matches against simple move gadgets.

There are a few things to consider going forward however. Commutative
expressions are currently not matched accordingly. For instance, if we attempt
to match against the expression (plus (plus 1 "x") 2) and the expression
(plus 2 (plus reg 1)) exists in the state, it will not mark this expression as
equivalent.