Implement move semantics for Add's dict
Update tests
Fix a bug in debug mode
Update Mul to use move semantics
Update the last few places with move semantics

We have to cast away const'ness in order to move the internal dictionary, but
since the expression that contains it is destroyed in the same function, it
must work.
Merge pull request #192 from certik/move

Implement move semantics for Add and Mul