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

I guess it's too late for `TaggedFieldSerializer`, but we can still roll with `VersionFieldSerializer`. Sound ok?