Move methods from SerializationTestBase over to Serializer
Move all usages of Wrapper into the serialisation package
Consolidate serialisation/deserialisation into two entry points
Rename methods for clearer structure
Introduce a 'Wrapped' marker interface and use it to simplify serialisation/deserialisation
Merge branch 'feature/gather-serialization' into develop