Fixed and written tests for transaction handling (#34, #10). Enabling transation is recommend, but only supported for databases that support DDL transactions (PostgreSQL, Microsoft SQL Server and SQLite).
Making the code more safe by checking more errors (#35).