Fix the invalidation logic in both `InMemoryStorageProvider` and `Sqlite3StorageProvider`, as it did not account for propagating the invalidation to both children objects and parent objects.
Add the `to_bytes` and `from_bytes` to `ObjectID`. This allows serializing an `ObjectID` instance to raw bytes with a specific binary format.