remove duplicate decrement on the transaction_pointer during rollback
remove unnecessary code to handle decrementing the transaction_pointer prior to rollback which caused transactions following the first rollback to fail to decrement the transaction_pointer
change cleanup() unset the collection instead of reinitializing it to an empty array, so we don't keep numerous empty arrays in memory if the transaction pointer gets off
add test assertions to ensure that the transaction pointer is always returned to zero and the transaction-specific in-memory objects have been cleared at the end of each test