local common subexpression elimination

Still missing:
* many  many tests!
* I guess we need fixpoint iteration even for this one?
I tried to think of one... in the end, it's simply the CSE map.