IndexedDB: Simplify factory->database relationship

The IndexedDBFactory -> IndexedDBDatabase relationship is effectively
a weak map; keys are a tuple of origin and name, and the lifetime of
the database is controlled by connection objects. The database notifies
the factory when its connection count dropped to zero so the factory
can remove it from the map. The factory was holding a refpointer to
the database for no good reason here. Make it a raw pointer, matching
other weak map patterns.

This change is trivial, but it required several recent patches to
make it so - there were hidden assumptions and broken accounting
elsewhere.

R=dgrogan@chromium.org

Review URL: https://codereview.chromium.org/108133004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241744 0039d316-1c4b-4281-b951-d872f2087c98
IndexedDB: Minor clean up of transaction/database calls

The call graph between backend IDB objects are a bit hairy. This gives
it a bit of a trim.

R=dgrogan@chromium.org

Review URL: https://codereview.chromium.org/112293002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241745 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 241745