Store the environment at startup and restore it before reexecing
This makes sure that pre-loaded code isn't able to change the
environment in ways that impact subsequent restarts of einhorn (for
instance by repointing bundler to look at a different Gemfile).
Fixes einhorn issue #7
Don't reload on SIGHUP if we're already in the middle of shutting down
Initial import of Einhorn