Update events for new inventory features in 1.5

This commit brings the InventoryClickEvent in line with the new Minecraft
changes in 1.5.

InventoryDragEvent (thanks to @YLivay for his PR) is added to represent the
new "dragging" or "painting" functionality, where if you hold an itemstack and
click-drag over several slots, the items will be split evenly (left click) or
1 each (right click).

The ClickType enum is used to represent what the client did to trigger the
event.

The InventoryAction enum is reserved for future expansion, but will be used to
indicate the approximate result of the action.

Additionally, handling of creative inventory editing is improved with the new
InventoryCreativeEvent, and handling of numberkey presses is also improved
within InventoryClickEvent and CraftItemEvent.

Also, cancelling a creative click now displays properly on the client.

Fixes BUKKIT-3692, BUKKIT-4035, BUKKIT-3859 (new 1.5 events), and fixes
BUKKIT-2659, BUKKIT-3043, BUKKIT-1479, BUKKIT-1450, BUKKIT-2659
BUKKIT-2897 (creative click events).
Fix everything broken, all tests passed