Refactoring REPL.

Mostly minor stuff, but two slightly bigger things

1. take advantage of some scalaz-stream conveniences and
2. get rid of the `throw` on exit (which was never good, but caused a
exceptional exit after upgrading to scalaz-stream 0.5).