Prevent multiple test processes from running

This fixes a bug where if Ctrl+\ (`SIGQUIT`) was pressed multiple times, multiple test processes were spawned. This message now appears in the console when this bug is prevented:

```
[Spin] Cannot rerun last tests, test process 2384 still alive
```

Other changes:

* Fix bug where if Ctrl+\ was pressed before any tests pushed, `You have a nil object when you didn't expect it!` exception was raised &mdash; instead, this message now appears:

    ```
    [Spin] Cannot rerun last tests, please push a file to Spin server first
    ```
* Add notification for when Spin server is ready:

    ```
    [Spin] Ready
    ```
* Consolidate duplicate `Process.wait` calls into one location, end of `Spin.fork_and_run`