Expressions can now track computations

But the solver doesn't keep track of the computations and still produces
only constants
Computations are actually tracked and returned
Added a Problem type to group rules & bindings
Moved shortcut functions to Notations