Oilpan: Prepare to move SQLResultSet and SQLResultSetRowList to oilpan heap.

Without this CL, a SQLResultSet object in SQLStatementBackend can be constructed
in a database thread, moved to main/worker thread, and referred by JavaScript
object in the main/worker thread.

We can't move object ownership over threads in Oilpan. So, SQLStatementBackend
should construct a SQLResultSet object in the SQLStatementBackend constructor,
which runs in main/worker thread. SQLResultSet should have a validity flag to
represent nullness in the code without this CL.

Note:
* Change the return type of AbstractSQLStatementBackend::sqlResultSet from
  PassRefPtr<SQLResultSet> to SQLResultSet* because the function doesn't release
  the ownership of the SQLResultSet object.

* Change the order of data members of SQLResultSet to pack better.

BUG=347902

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

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