Delegate recreateStructures to nms provider. Fixes BUKKIT-2760

This was a miss when updating to 1.4.2
Fix compile issue with chunk generation.
Improved the potion test to detect missing PotionType values.
[Bleeding] Fix mistranslation affecting time of the server vs time of day.
Fixes BUKKIT-2797
Migrate world data with world when switching from vanilla Minecraft to
Bukkit. Fixes BUKKIT-2816 and BUKKIT-2760
Updated version to 1.4.2-R0.2 in pom.xml for Beta.
Updated version to 1.4.2-R0.3-SNAPSHOT for development towards next release.
Added SlotBrewing for diff visibility
Added PotionBrewer.java for diff visibility
Added BrewRecipe and BrewEndEvent. Fixes Bukkit-2441 and BUKKIT-1604. Modified TileEntityBrewing and SlotBrewing to allow for new potion ingredients. Also modified PotionBrewer to allow the overriding of the potion's effects based on damage value. Added PotionRecipes as a class to store the different overrides and recipes. Added CraftBrewRecipe to CraftServer's addRecipe method.
Added PotionBitSet to simplify BrewRecipe. Added constructor with PotionBitSet along with the one with a string.
Update CraftBukkit to Minecraft 1.4.4.
Correct digging behavior. Fixes BUKKIT-2780

If a block is air we return immediately so miss the cleanup work that would
normally happen in this case in vanilla. This causes us to get in to a
situation where, due to odd packet sending from the client, we never
properly stop an attempt by the client to break a block and thus it
eventually breaks.

We also use our own variable for block damage and never sync it up with the
vanilla one so damage reporting to other clients is not always correct.
Add EntityFallingBlock from mc-dev
Potentially fix glitch with falling entities.

When a block creates a falling entity the block is not immediately removed
from the world. Instead, the falling entity is responsible for removing it
but only if the block still exists. Due to certain piston mechanics it is
possible to move the block before this check happens and thus the block is
not removed. This should be fine as the entity will kill itself in this
situation. However, the code does not stop here and continues running the
rest of the entity logic which includes either placing a block in the world
or placing a block item in the world depending on the circumstances.
Clear out empty extended block ID array. Fixes BUKKIT-2923

If a chunk gets a block added to it that requires the extended block id
nibble array (block id greater than 255) the array is created and saved
with the chunk. When the blocks are verified to make sure they exist these
entries are erased but the extended block id array is not. This causes the
server and client to disagree about how much data a chunk has which makes
the client crash while trying to load the chunk for rendering.

To resolve these issues we now clear the extended block id array on chunk
load if there is no valid data in it.
Add crafting result slot for sheep breeding. Fixes BUKKIT-2926

Sheep now use the crafting system when breeding to determine what color
their baby should be. This triggers an event but the event wants the
crafting inventory to have a result slot which sheep do not have. This
event could be useful for plugins to control the output of sheep breeding
so instead of disabling it we add a result slot so the event fires without
issue.
Fixed formatting errors and removed faulty coding.