[#73135254] HTTP health check

Added a `HealthCheck` object that is passed a reference to the `queue.QueueManager` and `ttl_hash_set.TTLHashSet` objects we're instantiating. It then provides a single method for checking the status of these services: `Status()`.

The object also provides an HTTP handler that is wired into Go's HTTP server in the `main` function of our worker.

You can test this functionality out by running the tests (currently passing on Travis-CI) or locally and view the output as follows:

- Start Redis
- Start RabbitMQ
- Run `go build`
- Start the worker binary
- Run `curl http://localhost:8080` (assuming default worker config)
- Stop Redis
- Run `curl http://localhost:8080`
- Spot the difference in the status response
I think the hard fail might go away with the reconnect story that I'm working on. So it would be good to test it, and maybe even return separate status for each.

How about calling `Producer.Channel.QueueInspect(h.queueManager.QueueName)`? I know the queue isn't strictly the Producer's concern, but it is the QueueManager's.