Update ruby 2.1 version used on travis

Hopefully will stop the build erroring
Ensure the application wait thread is unaffected by broken pipes

In certain situations we could not get to the exit_if_finished call and
the thread would just die silently. This would lead to the application
process failing to exit at all, so it would have to be killed with a
SIGKILL.
Ensure application processes exit immediately on second SIGTERM

If the termination logic is misbehaving in some way, this ensures that
we are not forced to do a SIGKILL.
Queue signals while connecting to application

Otherwise we can end up with a situation where the user issues a ^C
after the application has started running the command, but before we've
got the worker pid. Thus the client process exits but the worker process
carries on running, and output appears on the user's terminal.
Add changelog for previous few commits

Closes #290. Closes #278.