Fix hang in SQLTransactionCoordinator::shutdown().

We should call |takeFirst| instead of |first| to decrease the size of
|info.pendingTransactions|.

I gave up making a reliable test case. We need to stop an ExecutionContext when
a DatabaseThread is processing a reading SQL transaction, and a writing SQL
transaction is dispatched and waiting for database lock.

BUG=401813

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

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