XD-1707 Support Named Channels in All MessageBuses

XD-1707 Register Named on-Demand Channels

JIRA: https://jira.spring.io/browse/XD-1707

Previously, only the `LocalMessageBus` registered named
channels with the application context.

Refactor the `SharedChannelProvider` by pulling it up to
`MessageBusSupport` and register named changed with the
context in the Rabbit and Redis MessageBus.

Move a test that was previously only run with the
`LocalMessageBus` to the abstract test class so it is run
for all buses.

Add a test for topic named channels.

The `TestMessageBus` code incorrectly replaced the
built-in message bus with a new bus. Instead, use
the `TestMessageBus` to wrap the existing message bus.

Polishing; Fix MBAChannelResolver BPP

Polishing - Move Channel Resolution to the Bus

Add support for Pub/Sub

Remove channel registrations from context when unbinding so that
a redeployment will recreate the infrastructure.

Polishing

Move MBAChannelResolver Logic to MessageBus

Also, remove channels map from the MessageBusAwareChannelResolver.