Add ExtensionsApiClient interface, use it in the storage API SettingsFrontend

app_shell needs the chrome.storage.local extension API so the core storage implementation is moving to //extensions/browser/api. However, the "managed storage" API implementation needs to remain in Chrome.

* Introduce ExtensionsApiClient in extensions/browser/api
* Introduce ChromeExtensionsApiClient in chrome/browser/extensions/api
* Delegate out the storage ManagedValueStoreCache creation to Chrome
* Move settings_namespace.h/cc to e/b/api/storage so we can use an enum in the client interface definition

Most APIs will probably need to make only one or two client interface calls, so we're starting with a single ExtensionsApiClient interface. It we find individual APIs tend to need a lot of methods we can split it into one client interface per API, but that seems like overkill right now.

BUG=348058
TEST=unit_tests *Settings* and browser_tests ExtensionSettings*
R=rdevlin.cronin@chromium.org, rockot@chromium.org, yoz@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255069 0039d316-1c4b-4281-b951-d872f2087c98
Remove the app list context menu "Remove from folder".

BUG=347471
R=stevenjb@chromium.org, xiyuan@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255070 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 255070