Features/allow custom commit settings
Thanks for bringing up this issue -- I've added per-connection methods to toggle autocommit, letting you run multiple queries in a single transaction.  The changeset is here b46ede9548a80ce2a9f135404f39cd363b6ba03d

You can check the API in the test cases above, but looks like:

```
my_database.set_autocommit(False) # turn it off
insert_a_bunch_of_rows()
my_database.commit() # they are all committed in a single transaction
```

Also:

```
@my_database.commit_on_success
def some_function():
    insert_a_bunch_of_rows()
    insert_some_bad_data_and_die()
```

The above will issue a rollback and then raise the exception, and the rows inserted by "insert_a_bunch_of_rows" will be rolled back as well.
 That's perfect! Thanks!

Hi!

I was a lil bit confused that all my insert and update was commit immediately.
Sometime I need to insert several records at once, I saw a rollback method but it was never used.
I decided to add a commit arg in the save method.
It was the simplest and fastest way to fix my problem.

Maybe I missed something.
