Allow explicitly whitelisted apps/extensions in public sessions

This CL adds an extension management policy provider that allows
explicitly whitelisted apps/extensions to be installed in public sessions.
Right now, QuickOffice and all hosted apps are whitelisted.

BUG=296868
TEST=New browser and unit tests

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=226494

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227641 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 227641
Pepper: Add FileIO utility to ContentBrowserClient

FileIO is being moved from the renderer to the browser to improve performance
for FileIO::Open. IsPluginAllowedToCallRequestOSFileHandle() has to be
available in the browser for the new FileIO implementation to call it.

TBR=joi
BUG=246396

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227642 0039d316-1c4b-4281-b951-d872f2087c98
Fix thread violation from wallpaper manager


BUG=303989
TEST=
1. Run debug build chromeos with multiple profiles enabled.
2. Switch profile. (with in 30 seconds)
3. Wait for a while.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227643 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 227643
Add basic tests for ExternalCache

BUG=299794
TEST=unittest ExternalCacheTest.*

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

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