Seamless scaleout for both callbacks and pubsub

This will fix #35 

### Plan of attack

* [x] Failing acceptance test for pubsub
* [x] Failing acceptance test for callbacks
* [x] Add support for multi dequeue
* [x] Add header and logic to allow senders to control the reply to queue to use
* [x] Add opt out override setting for the multi dequeue

cc @johnsimons 
Got it

Sent from my iPhone

> On 18 Sep 2014, at 08:03, John Simons <notifications@github.com> wrote:
> 
> In src/NServiceBus.RabbitMQ/Config/RabbitMqTransport.cs:
> 
> > @@ -43,12 +49,41 @@ protected override void Configure(FeatureConfigurationContext context, string co
> >  
> >              context.Pipeline.Register<OpenPublishChannelBehavior.Registration>();
> >  
> > +            if (useCallbackReceiver)
> > +            {
> > +                context.Container.ConfigureComponent<CallbackQueueCreator>(DependencyLifecycle.InstancePerCall)
> > +                    .ConfigureProperty(p => p.Enabled, true)
> > +                    .ConfigureProperty(p => p.CallbackQueueAddress, Address.Parse(callbackQueue));
> > +
> > +                context.Container.ConfigureComponent<PromoteCallbackQueueBehavior>(DependencyLifecycle.InstancePerCall);
> No need to register behavior, they auto registered already
> 
> —
> Reply to this email directly or view it on GitHub.