Custom Chrome OS implementation for ProfileManager::GetLastUsedProfile.

This fix addresses "incorrect profile" dialog popup that happens during various
telemetry tests when --multi-profiles flag is not passed.
See analysis here https://code.google.com/p/chromium/issues/detail?id=308224#c21

Chrome OS profile access (for both non-multi-profiles and multi-profiles) implemenation is different.
* Non-multi-profiles case:
Profile is mounted to /home/chronos/user (1) and /home/chronos/u-[hash] (2). After normal sign in (1) is used.
After browser restart after crash while session is still active (2) is used.

Introducing ProfileHelper::GetProfileDirByLegacyLoginProfileSwitch() for now till transition is fully finished.

Removing /home/chronos/user completely is on TODO list but will happen only after all clients (both inside Chrome and outside system services) finish relying on it. See 

* Each profile directory has to be mounted explicitly by providing credentials.
So in multi-profile case this also means that GetLastUsedProfile can't just use value from Local State since that profile may not be mounted. We'll return profile that is currently active in browser session instead.

BUG=308224
TEST=ProfileManagerCrOSBrowserTest.GetLastUsedProfile, ProfileHelperTest.GetProfileDirByLegacyLoginProfileSwitch

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239229 0039d316-1c4b-4281-b951-d872f2087c98
Removed UMA reporting from menu runner (it was used for new menu style experimentation).

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239230 0039d316-1c4b-4281-b951-d872f2087c98
Fixed content_browsertest isolate: webgl_conformance removed.

https://codereview.chromium.org/104723003 broke the content browsertests
on Android with

MappingError: /b/build/slave/Android_Tests__JB_GalaxyNexus__dbg_/
build/src/third_party/webgl_conformance/ is not a directory but
ends with "/"

This patch should fix that.

R=zmo@chromium.org,maruel@chromium.org
BUG=326173

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239231 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 239231
Make sure WindowObservers are removed from window before destruction

* Check if the window observer is empty upon destruction.
* remove the all observers in ~WindowObserver()
* Remove RemoveObserver that are no longer necessary
* Fix shell shutdown order so that observers are removed correctly before deleting all windows.

BUG=324018
R=skuhne@chromium.org, sky@chromium.org

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

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