Add type tests
Change Block callers to use Type where possible

Remove unused block methods
Remove fixed width block class isolation
Change block encoding factory to not be type specific
Add BlockBuilder methods to write raw data directly

Use type for block value write methods
Remove unused methods on type
Move BlockBuilder methods to Type
Remove BlockIterable
Add new block tests
Remove Block.getType()