[B+C] Update click 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 eventually
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-3043 (creative click events).

### Testing
WIP source: https://github.com/riking/ClickEventTestPlugins

#### Other PR:
https://github.com/Bukkit/Bukkit/pull/860