Add versioning field serializer

A version based serializer with backward compatibility (no forward compatibility).

This can be used for scenarios like:

* Already used FieldSerializer to serialize persisted object, but about to add field(s)
* Need light-weighted and simple backward compatible serializer with little overhead, since forward compatibility are not always necessary

To follow the existing names (eg `TaggedFieldSerializer`) I guess this should be called `VersionedFieldSerializer`. Though, I somewhat regret the name `TaggedFieldSerializer`. `TagFieldSerializer` and `VersionFieldSerializer` would maybe be nicer.