Provide a hint indicating the type of a channel

A handler sending messages to a channel should not care what the
underlying channel implementation is, however, it can be useful in
certainly situations to have a hint. Particularly for code that is
instantiating channels, it's not reasonable to assert the type of channel
by testing it's behavior.

Adding a 'type' property to formally constructed channels.  The values are:
- 'default' -> bus.channel()
- 'pubsub'  -> bus.pubsubChannel()
- 'direct'  -> bus.directChannel()
- 'queue'   -> bus.queueChannel()