Fix Spring::Env so it works in tests
Add a timeout
Make sure that the watcher gets started

If loading spring/commands (which loads the gemfile / spring.rb / etc)
fails, we still need a watcher. It might end up being the polling watcher
when the user has configured the listen watcher, but that's acceptable.