Out of order changes

These commits introduce tests and fixes for the issue I mentioned last night (#334) getting the wrong data during changes and query operations.  I've implemented the new changes across the IDB and WebSQL adapters, HTTP is unaffected, and I'm not sure about LevelDB - the tests seem to pass but I haven't looked into it yet.

As with the previous PR, I can't get the saucelabs tester to work, but I've tested on Safari, Chrome, FF, and iOS 6 Mobile Safari.