Add IRC Message model
Implement NetIRC-like reflection with ReceiveMessage interface

Any class for received messages should implement the ReceiveMessage interface and override the ProcessMessage method. The client checks for the correct method to process from its list of registered messages.
The MainActivity now has an instance of Client that is passed into IRCMessageReceiver. MainActivity also implement OnClientEventListener for handling message events.