Added unit tests for TransactionAtomicOperation and fixed a bug in Transaction that caused it to not preperly notify listeners of version changes