Forward exceptions to log4j, cleanup logger handling. Fixes BUKKIT-4948
Handle JUL logger formatting
Make console work on Windows again. Fixes BUKKIT-4956

Something the log4j ConsoleAppender does makes the console work correctly
on Windows. After trying to pull pieces of it out and run them manually
I decided to just put the appender back. We now once again start with the
ConsoleAppender then remove it immediately after starting.
Correctly send player names for the tab list. Fixes BUKKIT-4925
Handle ChatColor-ending messages FIXES BUKKIT-4924

Now adds the component upon creation, eliminating issues where the
created component was discarded.
POM Changes
mc-dev imports
Skeleton API Implementations
Spigot Configuration
Better Chunk Tick Selection
Crop Growth Rates
More Efficient Chunk Save Queue
More Efficient GetCubes
Merge tweaks and configuration

This allows the merging of Experience orbs, as well as the configuration of the merge radius of items. Additionally it refactors the merge algorithm to be a better experience for players.
LongHash Tweaks
Async Operation Catching

Catch and throw an exception when a potentially unsafe operation occurs on a thread other than the main server thread.
View Distance

This commit allows the user to select per world view distances, and view distances below 3. Be wary of the issues selecting a view distance of 1 or 2 may cause!
Compressed Nibble Arrays

Implement 'lightening' of NibbleArrays - only allocate
 buffers when non-trivial value Saving from 40-45% of memory use by chunk
 section data.

Finish up NibbleArray lightening work - use for Snapshots, reduce copies

Fix nibble handling with NBT - arrays aren't copied by NBTByteArray
Sync Free Chunk Reference Cache
Highly Optimized Tick Loop