Introduce the RpcServer class.

This encapsulates the details of handling RPC requests like dealing with
network I/O, client disconnects etc.

This also adds an RpcSession class which can be used to store a pointer to
arbitary user data associated with an RPC client.
Make RpcSessionHandler public.
Merge branch 'master' of github.com:OpenLightingProject/ola
Add an option to RpcServer to allow it to use a pre-existing TCP socket.
Rename tcp_socket to listen_socket.
Remove RpcSessionHandler now that it's in include/ola
Fix lint & doxygen warnings
Fix the common/rpc Makefile
Fix Peter's comments.
Merge pull request #484 from nomis52/master

Factor out the C++ RPC server code into it's own class.