Pulling user experiment code from BrowserDistribution to a new class. 

This is part #2A of the refactoring task to pull out installation_state from installer_util.

In the old code, code bloat exists is google_chrome_distribution.cc for user experiments.  This brings in lots of dependencies, and prevents BrowserDistribution from being a light-weight information (if not constant) getter class.

In this CL we pull:

enum ToastUIflags{}
struct UserExperiment{}
GetExperimentDetails()
LaunchUserExperiment()
InactiveUserToastExperiment()

from BrowserDistribution, and moved into a new class "class UserExperiment", with the following renames:

struct UserExperiment => struct ExperimentDetails
GetExperimentDetails() => CreateExperimentDetails()

The functions are made into static members of UserExperiment.  The only use on BrowserDistribution was in InactiveUserToastExperiment(), which now receives it as parameter.

Finally, ShouldSetExperimentLabels() is left with BrowserDistributions, since it is light-weight.

BUG=170398
TBR=ben

Review URL: https://chromiumcodereview.appspot.com/12321061

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188494 0039d316-1c4b-4281-b951-d872f2087c98
25 files changed