Removing Int96 class, using Binary instead.

This removes all references to the Int96 class and uses Binary instead.
Int96 calls are still used at the RecordConsumer and Converter level,
specifically used by PrimitiveType.PrimitiveTypeName.INT96.
Remove int96 references from RecordConsumer and Converters.

This commit removes int96-specific code from the RecordConsumer and
the Converters. Implementations are responsible for checking the Type of
columns.

Because Binary is used for int96 values, it is no longer assumed that
a Binary is printable as a UTF8 string in methods like Binary#toString.
Delegate fixed and int96 types to convertBINARY.
Merge Fixed dictionary with Binary dictionary.
Factoring out common Binary impl in dictionary writer.
Use toStringUsingUTF8 to fix tests.

Binary values will not necessarily decode with UTF8, but the
ExpectationValidatingRecordConsumer can decode because its inputs are
controlled for testing.
Add NanoTime to example.

This adds NanoTime to the example objects, stored as an int96, for
testing.