Big overhaul. MsgIn and MsgOut channels in Client are for passing
messages around and this is what the read and send messages functions
work on. SendMessages and ReadMessages should be run as go rountines as
there are for loops in them that will run forever pretty much.