The default implementation of a DataVersion, uses a long to
compare versions.
This class is immutable.

Also note that this is meant to control implicit, internal versioning. Do not attempt to instantiate or use instances
of this class explicitly, via the Option.setDataVersion(DataVersion) API, as it WILL
break things.

newerThan

Returns true if this is a newer version than other. There is no guarantee that the DataVersion passed
in is of the same implementation as the current instance. The implementation will have to check for this (if necessary)
and (if necessary) throw a DataVersioningException.