move Zendesk ticket raising to background

before this change, tickets were raised in Zendesk synchronously.
This change:

* introduces 'sidekiq' (http://sidekiq.org/), a redis-backed
background worker queue
* moves raising the tickets to the background

The motivations for this change are:

* to respond snappier when the user submits a form
* to not lose user submissions when Zendesk is down

TODO:

- [x] JSON endpoint for exposing queue size

Dependent TODOs in other repos:

- [x] puppet change to start the background workers (https://github.gds/gds/puppet/pull/792)
- [x] deployment change to restart the workers upon deploy (https://github.gds/gds/alphagov-deployment/pull/256)
- [x] monitor queue size (ce30156)
- [x] nginx change to restrict queue endpoint to localhost (https://github.gds/gds/puppet/pull/792)