added support for versioning using crate's system column "_version".
added test cases