Reland: Implement new Blink IDL attribute [SetReference]

SetReference is a new Blink IDL attribute which can be used to specify dependency from a wrapper to another. This is implemented by calling v8::Isolate::SetReference on minor GC prologues. This has a lower overhead compared to old technique using SetHiddenValueTo.

This patch also modifies DOMDataStore::Current to support call outside any active context.

BUG=307341

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=159861

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

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