Fix prettyprinting (details below)

* Generate names for variables
* Do it in a monad
* Fix bugs with bound variable numbering in printer (whoops)
Remove unused function
Layout cleanup
Merge pull request #12 from jonsterling/fresh-pretty

Fix prettyprinting (details below)