Skip entity.move() if we are not moving anywhere.
Optimize packet used to unload chunks for the client

At the moment telling a client to unload a chunk involves calling the entire chunk from memory, deflating it and then sending it through the pipes even though the client ignores it and based on the bitmap simply unloads the chunk, and to add the cherry on top, this is done on the main server thread.
Spawn monsters without prematurely exiting. Fixes BUKKIT-3425

By using return 0, we exit the loop prematurely preventing other
creature types from being spawned if one type is set to 0. By using
continue we move on to the other types and allow them to spawn
properly.
Add ItemStackMapTest

This test was missing from c056293b38cb9a1296937d91746b175252be044a
Throw BlockPlaceEvent when placing double slabs. Fixes BUKKIT-2469
Handle beds and doors the same way as other blocks. Fixes BUKKIT-3437
Relates to: BUKKIT-3438
Get the BlockState before changing the block. Fixes BUKKIT-3441
Fix entities traveling sideways. Addresses BUKKIT-3443

Original: Update mappings to correct 1.4.6 version.
Initialize entity data before spawning them. Fixes BUKKIT-3209

Vanilla does the initialize before spawning everywhere except in the
SpawnerCreature, our spawn event depends on this behavior to be
consistent.

Conflicts:

	src/main/java/net/minecraft/server/SpawnerCreature.java