Refactored BlockManager in preparation for further block entity work.
BlockTypeEntities are now generated and hooked to blocks.
Merge remote-tracking branch 'upstream/multiplayer' into multiplayer