Added support for dead-letter exchange

Added support for declaring queues with the x-dead-letter-exchange
argument now supported by RabbitMQ (see
http://www.rabbitmq.com/dlx.html). That argument will cause the RabbitMQ
server to automatically publish rejected messages to the given exchange.
This feature is intended to be used in lieu of the built-in
dead-lettering behavior of RabbitBus.

The configuration and convention classes were modified to allow
specifying the name of the dead-letter exchange that should be used. The
Subscription class was modified so that it honors the new setting and
declares the queue with the x-dead-letter-exchange argument. The
ErrorContext class was also modified so that it uses the configured
IDeadLetterStrategy (which should be NullDeadLetterStrategy when the
dead-letter exchange is used) as opposed to always publishing rejected
messages to a queue named "deadletter."