add another routing tree test
Simplify channel code

* Channel multiplexing should be handled in another class
* A client sending on a multiplexed channel should not need to encapsulate messages
  in the required way
* Add comments to rpc code
* Add main.py - to include standard ways of starting a client