Add boring stuff to optimizer
Move some things around to enable compilation to C++
Add compiler.eh