Fix infinite loop during boot

If sqlcluster did not respond successfully during the boot sequence, it was
possible that Octopus could get caught in an infinite loop waiting for it to do
so. In addition, Octopus captures SIGTERM and SIGINT early on in the boot
sequence, so none of the typical ways of killing it worked particularly well.

Octopus now listens for signals (and the timer) in a goroutine to prevent this
problem.

Fixes #1