Lots of changes and additions (like base classes)

Working on backpacks. Added some utility classes (BlockLocation), and
base classes for blocks, blocks that have tile entities as well as tile
entities (makes coding easier).