Remove ScriptState::current() from IDBRequest

- ScriptState::current() should be called only from the binding layer. This CL removes ScriptState::current() from IDBRequest. For that goal, this CL passes ScriptState around in a lot of places in IDB code.

- This CL also introduces ScriptStateForTesting. It's hard to use ScriptState for testing purposes because webkit_unit_tests doesn't create DOMWindow nor ExecutionContext, and thus ScriptState cannot be associated with a valid ExecutionContext. On the other hand, ScriptStateForTesting allows us to mock the ExecutionContext for testing purpose.

- This CL renames V8ExecutionScope to V8TestingScope. This is because V8TestingScope uses ScriptStateForTesting, and thus it's only for testing.

- This CL stops using V8ExecutionScope in V8GCController, because V8GCController is not for testing.

BUG=357144
TBR=adamk

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

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