Support for rejecting messages

First bash at adding support for rejecting messages. Naive first attempt. Current issues:

- Possible requeue true/false scenarios described here: http://www.rabbitmq.com/blog/2010/08/03/well-ill-let-you-go-basicreject-in-rabbitmq/
- Not clear on sensible workflow between Accept/Reject/Failure. Most likely to reject as an action in a  ISubscriptionFailureStrategy? Current behaviour of clearing listeners in DeliveryQueue means this doesn't work
- RabbitMQs can immediately re-delivering the message to the same consumer, so you'd likely want to sleep/pause the consumer. This is also the cause of the test failing currently.