Cleanup and rework physical interaction events. Fixes BUKKIT-3686

Currently when dealing with physical interactions with pressure plates
and tripwires we immediately block their activation as soon as a single
entity involved has their event cancelled. We also fire events whenever
an entity intersects the block a wooden button is in even if they aren't
actually pressing it. To correct this we move the button interaction to
the correct place and modify all three to only block the activation if
every entity is blocked from using them instead of just one of them.
ANSI color codes now reset text attributes. Fixes BUKKIT-3508

The client resets all formatting after a color code is received, but currently the ANSI codes do not, and so the console does not accurately reflect the appearance of the formatted text. Instead, the ANSI color codes are now set to reset all text attributes.
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)