Manage WebSQL callbacks with OwnPtr instead of refcounting

The only tricky part of this change is in Database::runTransaction, where
a callback's refcount was temporarily 2 in order to queue an error callback.
I've reorganized the code a bit to avoid sharing ownership in that case, but
I'm not terribly familiar with Blink's WebSQL implementation so I'd appreciate
a careful look at what I've done there.

R=abarth@chromium.org
BUG=323681

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163191 bbb929c8-8fbe-4397-9dbb-9b2b20218538