Add Player.spigot().getFishingHook() API
pending spigot: Fix null world Tile entities
Fix corrupted Trapped Chest

CraftBukkit never added Trapped Chests to their "fixTileEntity" code, so trapped chests
that get corrupted crash the server
Limit TNT Detonations per tick

This gives a per-world control on how much TNT will be processed per-tick,
preventing a massive TNT detonation from lagging out the server.
Track TNT Source Block

This patch will keep track of the exact source block location that TNT was spawned from.
This will either be:
1) The block the TNT was placed and then ignited on
2) The the top most parent block a chain reaction of TNT was placed from
3) The Dispenser block that fired TNT
4) The block a plugin spawned TNT came from

Useful for storing who is likely responsible for igniting TNT.
Improvements to Player Lookup

Minecraft and CraftBukkit both use Arrays to store online players,
and any time a player needs to be looked up by name or UUID,
the system iterates all online players and does a name or UUID comparison.

This is very ineffecient and can reduce performance on servers with high player count.

By using a map based approach for player lookups, player lookup should
be consistent in performance regardless of how many players are online.