A handful of changes

First and foremost, the SSH module was designed from day 1 to reuse the current host's connection, but I screwed it up and it was actually reconnecting for every command run.  Fixing this took a test push from 17 minutes to 6.5.

The other changes are some quick additions requested in recent months:

* `--stopbefore` to allow stopping pushes at a certain point. Useful for parallel pushes and fixup pushes.
* A "retry" option to start over on a host for when a deploy command fails. 
* Show the hostname of the host with an error in IRC when it happens.

:eyeglasses: @alienth @ajacksified