Fire VehicleEnterEvent for loaded chunks only. Fixes BUKKIT-3831
Implement InventoryMoveItemEvent. Adds BUKKIT-3765

This makes droppers, hoppers and hopper minecarts fire an
InventoryMoveItemEvent whenever an item is being moved from or to another
inventory.
Identify outside slot independent of inventory type. Fixes BUKKIT-2768
Include ThrownPotion in spawn methods. Adds BUKKIT-2542
Add check for Thorns damage - Fixes BUKKIT-3505
Don't assume all hoppers are blocks. Fixes BUKKIT-3883
Add ability to change player item in hand. Adds BUKKIT-3318
Cleanup comments, formatting, etc
Add methods to check conflicting enchantments. Adds BUKKIT-3830
Allow fishing success rate to be adjustable. Adds BUKKIT-3837
Call EntityChangeBlockEvent when boats destroy blocks. Fixes BUKKIT-3871
Allow plugins to enchant already enchanted items. Fixes BUKKIT-1956

This causes the server to generate PrepareItemEnchantEvent even in the
case that an item is already enchanted or otherwise would normally not
be enchantable.
Add missing semicolon

I should try to compile before I say "this change is okay".
I should try to compile before I say "this change is okay".
I should try to compile before I say "this change is okay".
I should try to compile before I say "this change is okay".
for i in range(100)
Improve calling of ProjectileHitEvent. Fixes BUKKIT-3872
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.