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.

Producer implements Middleware.

Because Middleware now are Queue Aware it does not make sense
to have the Queue object implement Middleware. Instead the Producer
have this task and just delegates the enqueue call to the given Queue
argument.

Consumer implement Middleware

Move execution of service into Consumer as a middleware. Removes the
need to get the service beforehand and also removes the need for a
seperate Invoker middleware.
Merge pull request #73 from henrikbjorn/queue-producer

Middleware's are now Queue aware.