make intermediary transaction states naming convention consistent - PREPARING, COMMITTING, ROLLING_BACK
refactoring abstract test class to util package
All transaction prepare(), commit() & rollback() can be called only once - improving exception messages and tests
first transition test and failing