Delegate block methods to type
Remove fixed width block class isolation
Change block encoding factory to not be type specific
Move Block.compareTo to SortOrder
Add type tests
Move block methods to type