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 
Figured that satellites and bridges in the future could need more than 1?

But yes YAGNI could be called on that

Sent from my iPhone

> On 18 Sep 2014, at 08:04, John Simons <notifications@github.com> wrote:
> 
> In src/NServiceBus.RabbitMQ/Config/RabbitMqTransport.cs:
> 
> >              context.Container.ConfigureComponent<ChannelProvider>(DependencyLifecycle.InstancePerCall)
> >                    .ConfigureProperty(p => p.UsePublisherConfirms, connectionConfiguration.UsePublisherConfirms)
> >                    .ConfigureProperty(p => p.MaxWaitTimeForConfirms, connectionConfiguration.MaxWaitTimeForConfirms);
> > +            context.Container.RegisterSingleton(new SecondaryReceiveConfiguration(workQueue =>
> > +            {
> > +                //if this isn't the main queue we shouldn't use callback receiver
> > +                if (!useCallbackReceiver || workQueue != queueName)
> > +                {
> > +                    return new SecondaryReceiveSettings();
> > +                }
> > +
> > +                var settings = new SecondaryReceiveSettings
> > +                {
> > +                    MaximumConcurrencyLevel = maxConcurrencyForCallbackReceiver
> > +                };
> > +
> > +
> > +                settings.SecondaryQueues.Add(callbackQueue);
> You only ever add 1 secondary queue, why is it a list?
> 
> —
> Reply to this email directly or view it on GitHub.