Lower compression level to avoid overloading the thread. Fixes BUKKIT-2963

When sending chunks to a player we use their writer thread to do chunk
compression to avoid blocking the main thread with this work. However,
after a teleport or respawn there are a large number of chunk packets to
process. This causes the thread to spend a long period handling compression
while we continue dumping more chunk packets on it to handle. The result of
this is a noticable delay in getting responses to commands and chat
immediately after teleporting.

Switching to a lower compression level reduces this load and makes our
behavior more like vanilla. We do, however, still give this thread more
work to do so there will likely still be some delay when comparing to
vanilla. The only way to avoid this would be to put chunk compression back
on the main thread and give everyone on the server a poorer experience
instead.
Don't do case lookups when we have the right case already.

This is a missed part of the original "[Bleeding] Use case from player data
for OfflinePlayer. Fixes BUKKIT-519" commit. It avoids doing (somewhat
expensive) lookups of player data to find the correct capitalization inside
getOfflinePlayers() as we're already loading their name from the player data
and thus have the correct capitalization.
Fix missed rename making withers too cheaty. Fixes BUKKIT-2972
Fix players losing experience when keepInventory is true. Fixes BUKKIT-2915
Don't add player to world if join event did it already.

On join we unconditionally add the player to the world they logged out in.
If a plugin teleports a player during PlayerJoinEvent in a way that adds
them to a world (cross-world teleport) we end up with one player in two
places. To avoid this we check to see if the player has changed worlds or
is already added to the world we have we skip adding them again.
Updated version to 1.4.5-R0.1 in pom.xml for Beta.
Updated version to 1.4.5-R0.2-SNAPSHOT for development towards next release.
No teleporting people back into the server. Fixes BUKKIT-2298

Stale player references will add a player back into the world when
teleporting them, causing a cascade of issues relating to ghost entities
and servers failing to stop.
Add a DamageEvent for falling blocks which can damage entities. Fixes BUKKIT-2781
Fix infinite 'breeding' with MonsterEggs. Fixes BUKKIT-2997

If the player is not in Creative (i.e. does not have the ability to
instantly build) we need to decrement the MonsterEgg item stack when used
on a breedable parent mob.
Add SPAWNER_EGG spawn reason to allow for filtering. Adds BUKKIT-3000
Update invalidItems array. Fixes BUKKIT-2554.
Fix teleporting entities with vehicles/passengers teleporting you illegally. Fixes BUKKIT-2821

Also some formatting...
Updated version to 1.4.5-R0.2 in pom.xml for Beta.
Updated version to 1.4.5-R0.3-SNAPSHOT for development towards next release.
Add ItemMapEmpty for diff visibility
Call MapInitializeEvent on newly created maps. Fixes BUKKIT-2907
Fix the previous fix for "infinite 'breeding' with MonsterEggs"
Call EntityInteractEvent for Wood Buttons. Fixes BUKKIT-3022

Prior to this, there was no way to tell when arrows trigger buttons
Fix multi-world sounds not being sent correctly. Fixes BUKKIT-3051