Lock down spring version in generated apps
Fix test
Add some docs about class reloading

This seems to be confusing people. See #226.
add a conclusion [ci skip]
Repo has moved

Closes #235
Use shutdown(2) on the socket when watcher is stale

ApplicationManager#with_child wants to be able to detect an error on the
socket so that we know that the application process is no longer
available. It seems that merely closing the socket here is not enough to
cause the error (I'm not exactly sure why), so use shutdown instead.

This problem was demonstrated by
https://github.com/rails/rails/issues/13381, where we have spring
running a rails generator, which then shells out and calls back into
spring a second time (mind blown). This would be fine except for the
fact that the generator changes the gemfile, which causes the
application process to want to start exiting, only it can't completely
exit because it's still running the generator. That's why we need to
shut down the socket so that the spring server knows to start up another
application process.
Overwrite existing bin/spring

It might be something else irrelevant/different. See #237.
Don't remove system-wide gems from the gem path

See #237, bundler might be in the system path.

Instead, I've implemented some basic, er, "parsing" of the lockfile in
order to activate the right version. This is actually an improvement
because now, if the user removes spring from their gemfile, it won't
activate even if their binstubs are still springified.

Closes #237.
Document the DISABLE_SPRING env var [ci skip]
Merge remote-tracking branch 'upstream/master' into listen2