Service Workers: Replace generic dictionaries with Web IDL types

Per spec [1] they have lousy names [2] but this is still better than
raw Dictionary usage:

* QueryParams - for various Cache operations
* ServiceWorkeClientQueryParams - for SW global scope's getClients()
* RegistrationOptionList - for SW container's register()

Also uses a typedef for OpenEndedDictionary which will remain generic.

The Fetch dicts - RequestInit and ResponseInit - are not converted
over as they have union members, which are not yet supported.

[1] https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html
[2] https://github.com/slightlyoff/ServiceWorker/issues/466

BUG=403150
R=bashi@chromium.org,gavinp@chromium.org,horo@chromium.org

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

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