Correct missed diff on skeletons. Fixes BUKKIT-3912
Properly copy collection references in ItemMeta.clone(). Fixes BUKKIT-3913

When cloning an item, all references are copied to the new item. For
collections, this makes internal changes become visible in both the old and
new items.

In CraftMetaItem, clone was not making copies of the appropriate collections
and has been fixed for non-null values.

In CraftMetaEnchantedBook and CraftMetaPotion, clone was using possible empty
collection references and has been changed to explicitly null-check instead.
Call appropriate event for zombies igniting players. Adds BUKKIT-3915
Call PotionSplashEvent even for no effects. Fixes BUKKIT-3618

When a splash potion has no applicable effects we currently do not call
PotionSplashEvent. This means plugins are unable to make custom
potions with reliable splash handling as they have to relicate the
functionality themselves.

With this commit we simply make the event fire regardless of the effects
on the potion.
Add Beacon block state for hopper events. Fixes BUKKIT-3932
Special case large chests for hopper events. Fixes BUKKIT-3916

Large chests work in a different fashion as they are a combination of
two other inventories. This causes their getOwner method to always return
null as their is no correct return. To compensate for this for the hopper
events we special case them to use their CraftBukkit counterpart that has
the information we need for the event.
Only call event when turning pressure plate on. Fixes BUKKIT-3881
Include anvil result in inventory size. Fixes BUKKIT-3741
Spigot
EMC POM changes
Misc EMC Changes

Only spawn 1 ocelot ever from eggs.
Load custom permissions before plugins
Unload plugins after everything else
Fix boat wood gen exploit
Remove CraftBukkit "Feature" of ItemStack's having infinite use if less than 0 stack size.
Color name tags to match list
Make Durability enchant scale 0-80% reduction on Armor damage (up to level 5)
Zombies break down doors on normal
Update inventory on block place/interact cancellation
Mob Spawning Events

Add 2 events for better control of mob spawning (Natural and Spawners) This allows us a much more powerful control over spawning and improve performance
PlayerUseItem Event

This lets us control when an item is consumed and change the item.
EMC Anvil Tweaks

Make Items not have a repair cost increase due to Anvil usage.
Renaming is only 5 levels, combines include free renames.
Hidden Item Meta

This adds the ability to store hidden metadata in item lore.

Simply set a line to "&&::META" and every blank line before, that line, and every line after will be hidden from view on the client.

for example, you can set &&::META on line 20, and there will not be 19 blank lines before it.
Then you can store Data on 21+

Also adds a &&::SHINY tag to send a fake enchantment aura if it does not exists.
Must be set before META
NIOM - NIO Manager

Alternative to Netty
improve the existing network manager using Blocking NIO instead of IO (more effecient code)
Writes use a direct memory buffer for less copying, and more stable memory usage.

Reimplement Low Priority Queue
Optimized PacketQueue System that supports instant send notification to the writer thread
Removed packet queue walking since it will very unlikely ever be hit now.
Writer thread will now sleep longer until notified
Network threads are no longer interrupted every tick, letting them sleep as much as possible
Persistent Meta API

This adds an API for getting and setting PERSISTENT Metadata
Meta data can be stored on Entities, Chunks and at a Block level.
Meta is is provided in a simple Map/List setup and does not expose raw NBT access.
Chunk Save Reattempt

We commonly have "Stream Closed" errors on chunk saving, so this code should re-try to save the chunk in the event of failure and hopefully prevent rollbacks.
Keep certain items on death API

This adds a getItemsToKeep to PlayerDeathEvent that can be modified for what item a player should keep upon death.

This can be used for never-to-be-dropped items.
Temporary hopper events