Discovery of chat channels and a message handler.

Instead of attaching to the first chat channel found from the network,
do a discovery of available channels and join the respective session
after user selects a channel.

A message handler is implemented so that different parts of the app can
listen for interesting messages. Due to the way the ajtcl C API is
implemented, without a common handler, it would be hard to route
incoming messages to the correct recipients, because there might be
several parts of the app independently interested in different kinds of
messages. For example, one part might be interested in incoming chat
messages while the other part is interested is new chat channels that
become available in the network.
Added a simple scheduler to the AllJoyn message handler.

The idea is that if there are new messages in the bus we are attached
to, we run the message loop faster to "flush the bus" and slower if
there is nothing new.
Added few notes about the usage of the handler.