(#54) - Implement db.readTransaction

This doesn't implement any performance improvement to `readTransaction()`; it just ensures that `readTransaction` is defined and it throws errors on everything but `SELECT`. It's implemented in JavaScript, so it should work cross-platform.  I tested it in iOS and Android.

Also notice that since I added test structure for the native `openDatabase`, I was able to add a unit test that ensures our behavior is the same as the native behavior. The test fails before my fix and succeeds afterwards.

Sorry for all the commits in this PR, but I've made enough changes in my other commits that it would be non-trivially to merge this change back in.  So I'm kind of optimistically assuming my other PRs will get merged and then this will be a simple one-commit fast-forward.  :)