Created a UserMessage class that will be used to register with an irc network

Message class is following the guidelines to create a class for each major message type
Minor refactor for the message classes
Created the JoinMessage class to easily create join messages

This class allows join messages to be created to join multiple channels at once
The ToolsPlugin class is a test harness to aid the development of the project.

This class will handle the basic functions of the bot, such as:

 - Connecting to and registering with the IRC network
 - Joining Channels

Yet to determine whether this class should be responsible for intercepting commands for the bot whilst running.
At the minute it is just driving the development of new message classes as and when they are needed.
Can now build PONG messages to respond to PING from the server
Added commands and responses to the tools plugin to aid with connection to the network and initially joining channels.

Current Project State:

Join freenode network/ need to test with other networks, doesn't work with EFNet :S
Join channels
Respond to pings to keep alive
Log to console  - useful for writing further plugins
This test program kick starts the bot reading from the irc_config.json file.

Ideally the final daemon or service will do something similar

Reads the config
Creates a bot per config
Spins up a new thread for the bot
Creates a new TCPSocket and connects for the IRC server
Hands off to the bot
Waits Forever