MAID-390-cereal_integration_common

Replacing protobuf with cereal in common and adding global helper functions to serialize.
is that out of convention ? Because it doesn't need to be done necessity-wise. Rhs is an unnamed temporary. I have deliberately done it that way to leverage move ctors if any in those classes.