Populate .current right after navigator.serviceWorker is accessed

- Remove AddScriptClient/RemoveScriptClient messsaging
- SetCurrent, StateChanged messages are always sent to the document thread
- Changed ObjectDestroyed message to {Increment,Decrement}RefCount
- Multiple providers for the same document could share one SWProviderContext (new class)
- SWProviderContext is:
-- responsible for keeping refcount for .current etc (while no script provider's available
-- responsible for updating .current info for newer provider initialization
-- responsible for forwarding .current related messages to worker providers --> DROPPED

BUG=366538
TEST=to be added later (https://codereview.chromium.org/265943003/)
R=falken@chromium.org, jochen@chromium.org, michaeln@chromium.org, tsepez@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269102 0039d316-1c4b-4281-b951-d872f2087c98
22 files changed