Add a reflective monad laws simplifier, minor cleanup

The reflective simplifier doesn't yet work; we need a way to mark
something as "don't simplify here, it's not a constructor".  We also
need a way to deal with (x <- foo; ret x).  I'm going to ask Gregory
Malecha about that.
Add some scripts to print line-by-line timings