Steps:
1. Put some things in cache storage
2. Call `session.clearStorageData`

Expected:
Some way of clearing cache storage data

Actual:
No way of clearing cache storage data

This seems like it might just be missing an option, in `atom/browser/api/atom_api_session.cc#GetStorageMask` there are only options for some storages. What's missing is a way of setting any of these:
```
REMOVE_DATA_MASK_CACHE_STORAGE
REMOVE_DATA_MASK_PLUGIN_PRIVATE_DATA
```

* Electron version: 1.8.2
* Operating system: macos 10.13.3

Note: I didn't make a test app for this because it seems like the issue is obvious, let me know if you'd line one though.
atom/browser/api/atom_api_session.cc
v8::Isolate* isolate, AtomBrowserContext* browser_context) {
  auto existing = TrackableObject::FromWrappedClass(isolate, browser_context);
  if (existing)
    return mate::CreateHandle(isolate, static_cast<Session*>(existing));
  auto handle = mate::CreateHandle(
      isolate, new Session(isolate, browser_context));
  
  
  g_sessions[handle->weak_map_id()] =
      v8::Global<v8::Object>(isolate, handle.ToV8());
  return handle;
}
mate::Handle<Session> Session::FromPartition(
    v8::Isolate* isolate, const std::string& partition,
    const base::DictionaryValue& options) {
  scoped_refptr<AtomBrowserContext> browser_context;
  if (partition.empty()) {
    browser_context = AtomBrowserContext::From("", false, options);
  } else if (base::StartsWith(partition, kPersistPrefix,
                              base::CompareCase::SENSITIVE)) {
    std::string name = partition.substr(8);
    browser_context = AtomBrowserContext::From(name, false, options);
  } else {
    browser_context = AtomBrowserContext::From(partition, true, options);
  }
  return CreateFrom(isolate, browser_context.get());
}
void Session::BuildPrototype(v8::Isolate* isolate,