Add ConsoleAppender from log4j for diff visibility
Catch all exceptions in jansi initialization. Fixes BUKKIT-4936

Both log4j and our own jline/jansi initialization attempt to catch
errors caused by jansi's use of native libraries. However both of them use
the Exception type which does not catch all errors. On Windows Server 2008
R2 Enterprise without installing extra software the required C++ libraries
are not available which causes an error that does not extend Exception. To
ensure we catch all errors I've changed both of these to catch Throwable
instead which gets us a working console minus jansi functionality.
Correctly drop BlockBreakEvent experience. Fixes BUKKIT-4942

This was a missed diff from the update.
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
Improved Timings System

Tracks nearly every point of minecraft internals and plugin events to give a good quick overview on what is causing TPS loss.
Orebfuscator