Componentizing GcmProfileService.

This class is shared by shared by the iOS port, and thus needs to decouple
from //chrome dependencies for clean integration on iOS.

This CL:
-- Pass PrefService, FilePath, net::URLRequestContextGetter,SigninManagerBase,
   ProfileOAuth2TokenService, base::Closure etc instead of profile.
-- Added a new file for constants.

BUG=519585
TBR=rockot,stevenjb,rkc,fgorski,dcheng,skuhne,isherman,bauerb

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

Cr-Commit-Position: refs/heads/master@{#357609}
27 files changed