deserialize
Change the `Model.deserialize` to a static function, which will return a new instance of the Model.
Add the `to_bytes` and `from_bytes` to `ObjectID`. This allows serializing an `ObjectID` instance to raw bytes with a specific binary format.
Add the necessary machinery to allow `Pipe`s, `Analysis`es, `Container`s, `Model` and `ObjectID` to be implemented in C++ and used by Python.