Refactored ItemType

Also added back some methods to BlockType
additionally created a machineName field in Item- and BlockType
that is a representation of the display names  in lowercase
without whitespaces.