Simplified and HTML lowered statement dumps

Initial import, adaptation, and cleanup of statement simplification, HTML dump. Original code by @zingales. This needs a review.
I wanted compile_to_simplified_lowered_stmt to be analogous to realize. Furthermore, i was told it was bad practice to have two default arguments in a row in c++. 
If this project doesn't mind having two default arguments in a row you could easily merge the  two functions at 570 and 572 into one (and such similar pairs functions) without loosing anything.