adding empty transaction tests
introducing utility methods for test setup & tearDown
eliminating good-for-nothing PREPARE_UNDOING transaction state
make intermediary transaction states naming convention consistent - PREPARING, COMMITTING, ROLLING_BACK