Add thread for client recieving

The client now uses a seperate thread to recieve messages from the
server.  Seems to work but could be improved upon.