Transaction support and better error handling.

Implemented support for handling transaction, begin, commit and roll back.
Also, fixed the `queueTransactionWithBlock:`, it now uses `queueWithBlock:`
internally.

The error handling for fetch, fetch row and execute have been slightly
modified. Instead of setting the error object within the block, it have
been moved outside the block.