Implement convention based routing on RabbitMQ transport

Implements convention based routing described as take 4 at http://codebetter.com/drusellers/2011/05/08/brain-dump-conventional-routing-in-rabbitmq/.

This convention models the types as exchanges in RabbitMQ, eliminating the need for using routing keys for routing messages between producers and consumers. This makes the routing topology visible within RabbitMQ and potentially makes the routing more performant.