Catch Throwable inside transaction instead of Exception

This ensures that transactions roll back whether an Exception or an
Error is thrown.

Signed-off-by: Sean Corfield <sean@corfield.org>
Correct typos.
Fix JDBC-50 by checkout value-groups have consistent lengths
Bump version to more accurate 0.3.0-SNAPSHOT
Update compatibility layer to explicitly use :entities based on dynamic *as-str* variable to fix JDBC-49
Address JDBC-45 by supporting nil / empty column list in sql/insert
Rewrite insert-values and insert-rows in terms of insert! so insert-rows can be deprecated in 0.3.0 - fixes JDBC-45
insert-values / insert-rows now throw IllegalArgumentException after JDBC-45
Clean up test to use thrown? macro.
Clean up copyright / license notice
Minor code cleanup
Code cleanup (rename db-transaction bound argument so it is clearer)
Use local helper for query and execute! to reduce duplication and clean up the code
Cleanup insert! using helper functions, add proper transaction support to fix JDBC-42
Add ! db-set-rollback-only and rename some db-transaction bindings for clarity
Cleanup a lot of the transaction / rollback logic
Remove debug and clean up
Clean up how tests handle string-based MySQL connection tests
Comment out local MS SQL Server driver dependency
Update ns docstring to indicate massive API overhaul