Reland Initial ServiceWorker Cache API polyfill.

Originally landed as r175749, this had to revert because of a memory
issue; the file arrays were not null terminated. Now using the
explicit length WTFString constructor.

R=jsbell@chromium.org,dcheng@chromium.org
TBR=jochen@chromium.org
BUG=374822

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

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