Invoke parent transaction with error

This fix updates the plugin so that the transaction error callback is
invoked with the error from the statement that caused the transaction
to fail and rollback.

Previously only the executeSql error callback would be invoked with the
error.

This mirrors the behavior of the HTML5 Web SQL
API.

Includes unit tests. Also includes some formatting fixes to the unit tests to make the code base more consistent.