Returns the version number for this object. In general, this value should only
be null if the object has not yet been stored to a persistent data store.
This version number is generally used for the purposes of optimistic locking.
Returns:
the version number, or null if one has not been assigned yet