Add DB dialect autodetection and dialects MySQL/Oracle

remove TX_SERIALIZABLE as it is dangerous for the pooled connection and also not necessary
This failed in testing, and the later tests failed because there was already a TX associated with the thread. 

This should rollback the TX if there is an exception. I think that some databases (postgres) may throw an exception if they detect that two transactions have modified the same row in serializable mode. If this happens we should just return false.