Improved channel status propagation

* Introduced new ChannelEvent
* Introduced new ChannelStatus
* removed channelOpened and channelClosed
* Connector implementations now must raise ChannelEvents when the underlying connection changes
BotManager now propagates channel status events

- BotManager now returns ChannelContext on channel creation
- BotManager now accepts a ChannelContextListener that allow to observer the channel status
Propagating BotContext to bots via @Context