Added support for distributing computations.

'discoro' module adds support for distributing computations to
create coroutines at remote peers. The remote coroutines and the
clients can use message passing, monitoring etc.

Added CategorizeMessages to asyncoro. This categorizes messages to
coroutine in to categories so messages can be processed on a priority
basis.

Added peer_status method to AsynCoro to register callback function.
This function is called when a peer is discovered or when a peer is
terminated.