Reject ServiceWorker CacheStorage promises with DOMExceptions per spec.

First, CacheStorage.has() and CacheStorage.delete() were not returning
correctly per spec, which is fixed.

Secondly, error returns were raw strings, this CL updates them to be
DOMExceptions of the correct types. As well, the error code to
exception function is moved into the Cache object, foreshadowing the
need for such a function in the Cache itself.

R=jsbell@chromium.org,dominicc@chromium.org,falken@chromium.org
BUG=392621

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

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