get rid of fresh name monads

The reader monad requires as much baby sitting in client code as
a stateful name generator. Given that scala is impure, I haven't
found an advantage for monadic style yet.
add parsimonious name generator