[Extensions + Metrics] Make it harder to mess up histogram enum values

Take steps to make it harder to mess up
extension_function_histogram_value (which can happen if the enum is ever
reordered). Do this in two ways:

* Add explicit values to the enum values. This makes it much more
  difficult to accidentally insert an enum in the middle, because it is
  clear that they are all increasing. What's more, adding one with a
  duplicate value will cause
  ExtensionFunctionRegistrationTest.CheckForDuplicateEntries to fail.
* Add a unittest that compares the values in the C++ enum to the values
  specified in the enums.xml file. To do this, hijack the code to read
  and parse the enums.xml file from about_flags_unittest.cc and put it
  in a common place in base/test/enum_test_util.

Between the two of these, it should hopefully be very difficult to
accidentally reorder the histogram.

Bug: None

Change-Id: I8932c7da32af8121ec94ef89bf591365e93ce575
Reviewed-on: https://chromium-review.googlesource.com/1062201
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561975}
11 files changed