Async Cookies: Expose additional cookie attributes.

This CL exposes the following attributes in CookieListItem members
returned by cookieStore.get() and cookieStore.getAll(), and contained in
cookie change events.

* expires: "expiry-time" attribute
* domain: "domain" attribute, or null for host-only cookies
* path: "path" attribute
* secure: "secure-only-flag" attribute

The "same-site-flag" attribute will be exposed in a future CL that will
also add support for setting it.

The following attributes are not exposed intentionally.

* "creation-time", "last-access-time": no clear use case
* "persistent-flag": exposed implicitly as a null expiration time
* "host-only-flag": exposed implicitly as a null domain
* "http-only-flag": would always be false

This CL also fully implements setting a cookie's domain attribute, and
updates the relevant WPT tests.

CookieListItem is covered by the API explainer:
https://wicg.github.io/cookie-store/explainer.html

Cookie attributes are described in the cookie storage model:
https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-02#section-5.4


Bug: 729800
Change-Id: I8061f20d348b53ba8d0dabbd4b97564f6c3b4217
Reviewed-on: https://chromium-review.googlesource.com/1102339
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568972}
14 files changed