Fix promise resolution in IndexedDB driver for DB updates (issue 154)

These changes should fix #154 . Specifically, in chrome the success handler of the promise returned by setItem is called before the data is written. As discussed in [this stackoverflow answer](http://stackoverflow.com/a/15155732) the completion of a request does not necessarily mean that the data is written. This commit uses the transaction in all operations modifying the database.