Added an event for new console messages

The MessageProduced event is triggered whenever a new message is
produced in the console by the Starbound server.
Added delegate utility and cancellable events

The delegate utility class provides useful methods for calling delegates
and event subscribers on other threads and handling canceled events.
Switched to use the delegate utility for events

The events triggered in the Server class now use the
DelegateUtility.NotifySubscribers method.
Added debug message type
Added message analysis for server version

The server version and build number is now detectable.
Changed the solution structure

* The solution is now broken into 3 projects.
* The first project is StarControl, which has been changed to produce a
.dll that is used by the other projects.
* The second project is WebInterface. This project is a console
application that serves a small browser-based interface for managing the
Starbound server.
* The third project is DesktopInterface. This project is a Windows GUI
application that manages a Starbound server on the local system.
Removing unneeded Program.cs for StarControl dll