add AMQP topic exchange support

Rather than binding to an explicit queue, this lets you connect to a topic exchange with a specified key.

(this lets me have graylog2, logstash etc. all receive the same events without having to know of each others existence).