Clean up dependencies for disk_cache histogram_macros.h.

The current mechanism by which these convenience macros find their
backend is confusing, at best; the macro has the form of our include
guard macros, but describes a CC file. Embedded within the
histogram_macros.h then is an abstraction violation: it just knows
which object has backend information depending on which file it was
included from.

Some downstream reviews have made this even more confusing; rather
than continue this, let's parameterize the backend object to the
convenience macros, so each translation unit is responsible for
knowing its own context.

R=mmenke@chromium.org, rvargas@chromium.org
TBR=mmenke@chromium.org
BUG=None

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

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