Revert "Merge pull request #329 from merhard/master"

This reverts commit 2480a8eb4e88ad720e3d5a30bc23b53201673d58, reversing
changes made to 9cd21d2249fdc33477dfc99f0e99c5d307108447.

Revert "Changelog: binstub_prelude support for commands. #329."

This reverts commit 8a3546d15892f28f19787d88e4a834e68b91c438.

Conflicts:
	CHANGELOG.md

Reasoning:

* https://github.com/rails/spring/pull/329#issuecomment-52809010
* https://github.com/jonleighton/spring-commands-rspec/pull/20#issuecomment-52701781
* https://github.com/rails/spring/commit/2480a8eb4e88ad720e3d5a30bc23b53201673d58

Since the thing that this feature was aiming to allow is already
possible via the commands API, I prefer not to add an extra feature to
Spring.
Reorganise tests

Get most of the test code under lib/

This is the first step towards extracting the listen watcher into a
separate project.
Extract listen watcher to separate gem

https://github.com/jonleighton/spring-watcher-listen

The reason to do this is that I want to minimise the amount of code
which needs to be maintained in the core spring project. I don't use the
listen watcher and therefore don't want to maintain it. If it's a
separate gem, others can maintain it on their own schedule.