Move common RabbitMQ elements out to a role
Improve RabbitMQ for Router

- use common RabbitMQRole to handle configuration options (and defaults)

- Remove queueing configuration stuff from Service definition. That's
  just too specific.
Stop using connect_cached

- It's impossible to keep track of who is connected using the single
  dbh, so it's not possible to properly disconect it. It's better just
  to use individual dbh connections than share them.
Use AnyEvent to handle signals

- It's safer for the event loop to have anyevent handle the signals.
Create a full Consumer implementation

- This simplifies our code a bit
Merge branch 'feature/unify_rabbitmq' into develop