Change blocks to not be type specific

This change moves all type specific methods on `Block` and `BlockBuilder` to `Type` leaving blocks to be generic data transports.

Check argument only supports `%s`, but it wouldn't matter anyway since in both cases it coerces the `int` to a `String`.  You only need the type specific token if you are passing arguments to the format.