Feature client server communication

Add more organised classes and interfaces to build message objects which can be used by the client to send commands to the server, either to access server functionalities or to control the underlying omxplayer process.

The previous classes were a bit messy, this new organisation should be better:

![communication classes and interfaces](https://cloud.githubusercontent.com/assets/2358361/4653057/814e6a2c-54aa-11e4-99ce-ebfc3363c56e.png)