Setting QueueName does not work

When using SetQueueName in Bus.Initialize the queue name is never used, it
is overridden by the default queue name.  To fix this I moved the code for
setting the default queue name to the configuration constructor.  I then
removed the EnsureQueueName method from the Bus which means that the Bus
no longer has a dependancy on the TransportSettings.  I then added more
test coverage.