I added all necessary parameters to the BlockType class. [WIP]

I have looked through lots of Minecraft's Block data and figured out what
properties any BlockType must include. There were a lot of them. I added
them all to the BlockType constructor, though I have not created and
initialized all the BlockType enums yet. That is marked with a TODO.

Also, I created basic outlines of some classes that were required for the
complete description of a BlockType such as the creation of a CreativeTab
enum class to describe the different Creative Mode inventory tabs.

I also created a Drop class to describe the different drops for an Entity
or Block. Drops can have an ItemType; a range of possible values for the
number of those items dropped; a probability that it will drop those
items; the tool required to cause that drop to occur (or null); and whether
or not Silk Touch is required for that tool to cause that drop to be
dropped. More will probably need to be added to this class for more
advanced behavior, but for now, this should work.

I also began working on a Sound class because it was necessary for the
BlockType class to include step sounds, break sounds, and optional extra
sounds (like for falling anvils). Sounds can have a SoundType, a pitch, and
a volume. SoundTypes describe all the available sound resources in a
Minecraft client. In the future, depending on the networking protocol, we
may be able to allow more SoundTypes to be created with custom sound
resource paths to allow servers to use custom sounds from custom resource
packs for their server.

Signed-off-by: REALDrummer <conman.davey@gmail.com>
Merge https://github.com/asusoda/Corundum into _Block

This merge was performed in order to get Alex's changes onto my branch.
Merge pull request #2 from asusoda/_Block

Please merge _Block into master.