[Bleeding] Fix corruption due to thread safety issues. Fixes BUKKIT-3333

The 'tag' NBTTagCompound field of the ItemStack assumes that it is OK to
save a reference to an NBT supplied via load() and assumes it is OK to
supply a reference to the internal field during a save(). Neither is true,
as Chunk NBT structures are required to be read-only once created (due to
being written asynchronously off the server thread AND due to the potential
to be passed to a new Chunk if the same chunk is reloaded before the
writing of the NBT is completed by the File I/O thread). Keeping a live
reference to the NBT copy passed in, or to the NBT value passed back
during saving, creates serious thread safety issues which can result in
corrupted data being written to the world data files.

The specific issue here was uncovered by the recent change to use
setName("") on the ItemStack.tag object. When a chunk is being loaded
again before its save is completed, this results in name of the field
in the NBT being set to "". This causes it to be saved as "" instead
of "tag" resulting in it not being properly reloaded in the future which
results in the itemstack losing all of its metadata.
Updated version to 1.4.6-R0.3 in pom.xml for Beta.
Updated version to 1.4.6-R0.4-SNAPSHOT for development towards next release.
Add PathfinderGoalSit for diff visibility
Fix "setSitting" on tameable animals. Fixes BUKKIT-1534

This makes it so animals (tame or not) will sit properly and not move
around.

Wild animals that are sitting may override the sitting position if
they are attacking.
Move the tile entity with the falling block. Adds BUKKIT-3349

Allows for interesting things to be done with world.spawn()
Implement fishing experience. Adds BUKKIT-3348
Merge remote-tracking branch 'Bukkit/master'