SNS/SQS region failover

Support region failover: subscribe to every region, publish to the active region. Changes to the fluent syntax:

CreateMeABus
	.InRegion("eu-west-1")
	.WithFailoverRegion("us-east-1")
	.WithActiveRegion(() => "eu-west-1")
	.WithSqsMessagePublisher<GenericMessage>(configuration => { });

Some tidy up.

Need to factor out the AWS client creation so that we can Unit Test this.