I added and implemented the IDedType and TypedObject interfaces.

I realized that most of the methods -- namely the ones that were related
to I.D.s and their associated types -- that were in the Material class
could also be applied to anything with an I.D. and type, including
entities and biomes and more. So, I brought most of those methods up the
heirarchy from Material and MaterialType to TypedObject and IDedType,
respectively. Material and MaterialType now extend TypedObject and
IDedType.

I also made some changes to the recipes according to the new changes in
the heirarchy of these new interfaces.

Signed-off-by: REALDrummer <conman.davey@gmail.com>