Add a timeout for shutdown after AMQP error (#192)
Add a timeout for shutdown after AMQP error (#192)

* Add a timeout for shutdown after AMQP error

After an AMQP error we should be able to shut down quite fast, we just
need to wait for any running instances to shut down. If we don't shut
down quickly, that probably means that something has gotten stuck, and
we should force shut down.

* Use logger.Fatal instead of os.Exit

This forwards the log message to Sentry.

* Reduce AMQP error shutdown to one minute

All that needs to happen is instances terminating, and we have other
cleanup processes that will handle it if the worker didn't get to it.

* cli: make amqp connection error timeout panic

This causes a goroutine stack dump, making it easier to see what got stuck, as
this is likely something we want to debug if/when it happens.

travis-ci/worker,travis-ci/worker,travis-ci/worker