Moved UseTransport to use ConfigurationBuilder

Quite a few changes here:
- Moved UseTransport extension methods to be instance based on ConfigurationBuilder
- Deleted `IConfigureTransport` and instead moved that "logic" into the `TransportDefinition`
- Modified the `ConfigureTransport` so that derived classes can add their extra configuration

### Migrate existing transports to this new model
1. Move the code in `ConfigureTransport.InternalConfigure` to `TransportDefinition.Configure`
2. Rename `protected override void Setup(FeatureConfigurationContext context)` to `protected override void Configure(FeatureConfigurationContext context, string connectionString)`

Well, I'm on the fence there, not sure if every transport need to override it or not, hence the reason