More run-from-repl experimental branch changes

I've tested on the crucible projects, and verified that the output
with these changes is nearly identical to the output before this
branch was created.  The only differences I know of are:

+ There are a few extra blank lines in the output after showing ASTs
  or other forms from the output shown when exceptions are thrown.

+ The message about writing files form-read.txt and forms-emitted.txt
  comes out slightly earlier than before, relative to other debug
  messages, when :debug #{:all} is enabled.

+ Some output produced by Leiningen at the beginning and end of the
  run are not controlled by these changes.  That is expected.