Adding support for mysql, oracle db, sql server, h2, derby and hsql databases.

Also made changes to suport easily switching db providers.
Adding travis ci configuration
Adding the travis status image
Fixing the Transaction Manage so that sessions get released properly.
Fixing Unit Test
Training part 1.