UnversionedBinarySerializer
A BinarySerializer for an unversioned format of T, supporting nulls. Every value is prefixed with an unsigned byte, where 0 indicates a null value and 1 indicates a non-null value.
This serializer can be swapped out with VersionedBinarySerializer to make format changes, without breaking compatibility. The remaining values (2-255) can then be used to indicate different versions of the format.