Split up huge BinaryFormatter into separate serializer/deserializers.
Implement serializing binary messages to a stream.
Pass serialization errors up the chain instead of returning null.
Test deserializing binary with a bad length delimiter.