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.
Fix the bug where the cmd line wasn't correctly displayed on /debug
Fix the memory leak in the RpcServer by closing connected sockets.
Remove an info log
Merge pull request #485 from nomis52/master

Fix buildbot
Fix a test error.
Fix a comment
Merge pull request #486 from nomis52/master

Fix a build failure and a comment.
Load and save instance name to a preferences file
Change a test to confirm we can parse hyphens in port unique IDs
Resync with trunk