I reworked ItemType to work more like BlockType.

I redid all of ItemType's constructors and its data structure to work like
BlockType's. The next step is to make all those enum constructors. Thanks
to this setup, most constructors will need nothing more than their name,...
but since there are far more ItemTypes in the game than even BlockTypes,
this is going to take a while. I'll get started tonight when I'll be a bit
tired because I can kind of do it without thinking too much; all I have to
do is copy names mostly.

On a minor note, I also moved some of those interfaces from the Corundum
package into the utils.interfaces package.

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