Filter data for items that shouldn't have it and filter wool.

We used to fall Item.filterData() for this but that method is meant for
converting item data to block data during placement and does the wrong
thing for this case. Instead we just see if the item should have data and
if not set it to zero. We also have to filter wool data explicitly because
clients crash when given invalid wool data.
Filter negative values for all items.
Comment out vanilla debug message.
Allow data on tool items. Fixes BUKKIT-3773
Add new DispenseBehavior files from mc-dev for diff visibility.
Fire BlockDispenseEvent for new dispenser behaviors. Fixes BUKKIT-3774
Handle double trapped chest inventory. Fixes BUKKIT-3772
Allow special crafting data value on items. Fixes BUKKIT-3780
Add missing getOwner method for container minecarts.
POM Changes.
Spigot changes.
Address BUKKIT-3286 by firing the inventory close event when a secondary container is closed due to the player entity being destroyed. This covers all edge cases such as server stop / player kick / player quit.
Update item merge logic
Include NibbleArray from mc-dev for diff visibility
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
Return LOHS to full operation.
Per world view distance.
Fix various crop growth modifier formula issues
Add OldChunkLoader from mc-dev for diff visibility
Fix mcRegion-to-Anvil conversion