Add switches for clearing the environment on reload

Since some environments run einhorn from a bundler installation (and bundler poisons the environment, so to speak), we kinda need a switch to un-poison the environment & provide a command line that can set up the new post-upgrade environment (one example would be to drop `RBENV_VERSION` and various bundler-related environment variables, and to re-exec as `rbenv exec bundle exec einhorn`).

This pull req also includes "integration" tests in the sense that they run an actual process under einhorn & try to perform actions on those processes.

There is one possibly contentious change in this pull request: https://github.com/antifuchs/einhorn/commit/37d79f34bbf5e4141553f6e3cf7f02cb9022474b makes Einhorn reload itself regardless of the state of `--preload`. I don't quite understand we only do this for preloading, but I feel we really want to do this for both usage modes (not reloading Einhorn itself when running non-preloaded code seems really displeasing).

Hope this seems good - happy to take your comments now (-: