Middleware's are now Queue aware.

This also removes the getQueue method from Messages. By doing this
it will be easier to override the queue when giving the message to
the producer.