Refactored BlockType

It's now a mix of hashmap <name,blocktype> and a
collection of static fields for vanilla block types