Restructure

The folder structure for the source has changed. All the Java and C#
files now belong to the same root namespace (net.azirale.geosharer),
where the mod is then under .mod, the core library is under .core, and
the WPF gui is under .wpf

The GUI now supports drag-drop of .geosharer files into the input file
list, and drag-drop of folders into the output folder text box. Direct
typing entry still works, and there are still add and selection buttons.

The GUI now uses a proper status window rather than popping the console
window, which should be a bit neater. The original reason for the
console window was that the core of how the program worked had direct
calls to Console.WriteLine().

The direct links to Console should all have been removed and replaced
with an event driven model. Objects that want to print messages will
implement an IMessageSender interface that includes a Messaging event,
the delegate includes a MessagePacket as the event arguments, which says
which verbosity channel the message is sent through and what the text
is. Similarly there is an IProgressSender interface, and it sends
updates that can be used for a progress bar. The updates have current
and maximum values, and an associated descriptive progress text.

IMessageSender and IProgressSender objects should also push down the
subscribing objects to their respective events to any child
IMessageSender and IProgressSender objects, to allow any messages or
progress from those events can reach the UI. These child objects
reference themselves as the sender of events, so the receiving objects
can discern what progress is being updated, for example.

The format of the .geosharer files has changed. Instead of having a
plain byte array where the position of the data is almost entirely
hardcoded, each chunk payload is now in NBT format. The actual content
is the same, but the NBT format should make it easier to add other
elements in the future, such as world identifiers.

The GeoChunk object in the core library now decodes from the NBT format.
It is not backwards compatible. As far as I know only two people are
using the merger so it shouldn't be too hard to go through the old data
before upgrading.

A commenting pass was done through the core, all classes, fields,
properties, and methods should now have somewhat helpful comments in the
source.