Bugfix: Transaction not aborted in modify()

Bugfix: Transaction did not abort when a standard JS exception was
thrown within the callback of a multiple WriteableCollection.modify()
operation.

As I detected this bug while migrating my personal project to Dexie, I
added a unit test that triggers the bug
(exceptionThrown-iteration-should-abort-when-using-hook) and then
debugged it to find out the error.

It turned out that the bug can occur in any situation when the
transaction is locked while doing an operation. If not using the CRUD
hooks, this may only happen when utilizing any of the
WriteableCollection.modify() or delete() methods, since these are the
only ones that locks the transaction. When adding a CRUD hook though,
the normal WriteableTable.delete() and put() methods will also utilize
the WriteableCollection.modify() method to fullfill its operation and
know the result, which makes this bug more prone to occur when using the
CRUD hooks.

However, thanks to this commit, the bug is now solved.