Add a BlockTypeKey class to capture block types and block families.

It isn't used by the .block_type attribute of other Key types, because
those types are already unambiguous. However, it will be used as the
block_type field passed as part of ScopeIds to XBlocks and XBlockAsides.
When there is a BlockTypeKeyV2(), how will it load a BlockTypeKeyV1()?