Prevent multiple test processes from running.

This fixes a bug where if Ctrl+\ (SIGQUIT) was pressed multiple times,
multiple test processes were spawned.

Other changes:

* Fix bug where if Ctrl+\ was pressed before first tests pushed, "You
have a nil object when you didn't expect it!" exception was raised
* Add notification when Spin server is ready
* Consolidate duplicate Process.wait calls into one location
(Spin.fork_and_run)
Simplify TestProcess#alive? method.

The presence of the @pid instance variable alone can be trusted to
determine whether or not the test process is alive (there's no need to
send a signal).
Merge pull request #84 from paperlesspost/prevent_multiple_child_processes

Prevent multiple test processes from running