Using non-default schema on per-endpoint basis

This pull extends the support for per-endpoint connection strings with possibility to also set non-default (other than `dbo`) schema for creating queue tables

### Configuration source priorities

When determining the connection string and schema for a given outgoing message, following sources of configuration are checked in this order:
1. `NServiceBus/Transport/<endpoint_name>` connection string in the `app.config` file. An extended property `Queue Schema` can be used to specify the schema where queue tables are located if other than `dbo`
2. Data supplied via `UseSpecificConnectionInformation()` method. If both collection and callback are provided, only collection is used
3. Connection string specified via `ConnectionString()` or `ConnectionStringName()` methods and/or schema specified via `DefaultSchema()` method. An extended property `Queue Schema` can be used to specify the schema.
4. `NServiceBus/Transport` connection string in the `app.config` file. An extended property `Queue Schema` can be used to specify the schema.

### API

- Setting the default schema for current/this endpoint
 
 ```
 busConfig.UseTransport<SqlServerTransport>().DefaultSchema("sender")
 ```
 The queue table for this endpoint will be created in schema `sender` instead of `dbo`. This schema (`sender`) will also be used as default when sending messages to other endpoints
- Overriding the default connection string or schema for a remote endpoint

 ```
 busConfig.UseTransport<SqlServerTransport>().UseSpecificConnectionInformation(
    EndpointConnectionInfo.For("RemoteEndpoint").UseSchema("receiver").UseConnectionString("SomeConnectionString")
 ))
 ```
 or

 ```
busConfig.UseTransport<SqlServerTransport>()
    .UseSpecificConnectionInformation(x =>
    {
       return x == "RemoteEndpoint" 
          ? ConnectionInfo.Create().UseConnectionString(ReceiverConnectionString).UseSchema("nsb") 
          : null;
       })
 ``` 
 When sending a message to `RemoteEndpoint` the default schema and connection string will be overridden by above values
Got it

On Wed, Dec 10, 2014 at 2:28 PM, Szymon Pobiega <notifications@github.com>
wrote:

> In src/NServiceBus.SqlServer/EndpointConnectionString.cs
> <https://github.com/Particular/NServiceBus.SqlServer/pull/66#discussion-diff-21602622>
> :
>
> > @@ -1,56 +0,0 @@
> > -namespace NServiceBus.Transports.SQLServer
> > -{
> > -    using System;
> > -
> > -    /// <summary>
> > -    /// Represents a binding between an endpoint name and a connection string to be used to connect to this endpoint's queue table.
> > -    /// </summary>
> > -    public class EndpointConnectionString
>
> Not a breaking change since this class has not been part of any release.
> Was present in develop only.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/Particular/NServiceBus.SqlServer/pull/66/files#r21602622>
> .
>