Clarify dye and wool color datas in DyeColor. Addresses BUKKIT-2786

DyeColor used the wool data for getData(), which is very misleading based
on class name. The old method has been deprecated and replaced with
getWoolData() and getDyeData() for the appropriate types of data values.

The MaterialData classes Dye and Wool were updated appropriately,
especially Dye innapropriately using a DyeColor data value compensation.

Unit tests were added for the new methods, as well as the getColor on Dye
and Wool.
Switch DyeColor firework Colors. Fixes BUKKIT-3382

The firework colors were based on the respective wool data values. This
means the colors were in reverse order.
Added negative id check to Material.getMaterial(int). Fixes BUKKIT-3414
Negative id values would try to access the array out of bounds and throw an java.lang.ArrayIndexOutOfBoundsException.
Update Bukkit to Minecraft 1.4.7
Updated version to 1.4.7-R0.1 in pom.xml for Beta.
Updated version to 1.4.7-R0.2-SNAPSHOT for development towards next release.
Merge branch 'master' of git://github.com/Bukkit/Bukkit.git