XD-1812 Dynamic Producer Properties

Pass properties to the bus for dynamically bound channels,
such as those used by the router sink.

- Add the module's producer properties to the module's
   `MessageBusAwareChannelResolver`, which is added as the
   channel resolver for any `AbstractMappingMessageRouter`
   found in the module's context. `StreamPlugin` extracts
   the producer properties and makes them available to the
   module's `MessageBusAwareRouterBeanPostProcessor`.
- When it is determined that the producer needs to be dynamically
   created, pass the properties into the bus along with the
   bind request.
- XD-1707 incorrectly registered a second producer for named
   channels if a named channel consumer was deployed before
   a named channel producer. Remove that logic and add a
   condition to the `AbstractSingleNodeStreamDeploymentIntegrationTests`
   which expected the named channel bean to exist after the
   consumer is bound. With buses other than the `LocalMessageBus`,
   the producer channel bean is not created until the producer is
   bound.
- Minor refactoring in the `RabbitMessageBus`, producer properties
   were incorrectly applied twice to some adapters.
- Enhance `SingleNodeIntegrationTestSupport` to support deployment
   properties and enhance dynamic producer tests to verify the
   properties are set.
I just realized we have a leak here - while this test case cleans up the dynamically registered bindings, in the real world, these bindings will never be removed - `StreamPlugin` doesn't call `unbindProducer` for sinks and, even if it did, there is nothing tying the bindings to the name of the module that they were created for.