Remove automatic connection AutoCommit

Turning autocommit off makes it hard to know when one should explicity
commit. In some cases (e.g. SQLite) issuing commits when no transaction
is open leads to exceptions. Manual transaction management will happen
inside a predefined block.
Make explicit calls to commit and rollabck via SQL deprecated

The JDBC docs state that one should rely on the JDBC connection for
transaction work.
Implement JDBC-based commit
Implement JDBC connection-based rollback
Implement support for transactions as a block

This partially addresses issue #6 but more support throughout the DSL
is needed (as are tests).