Specify dependencies on generate_version_info target correctly

The generate_version_info target generates a header (version_info_values.h) and
correctly specifies itself as a hard dependency. Currently, most targets that
use this header don't depend directly on generate_version_info but rather on
the version_info target. version_info depends on generate_version_info and does
export_dependent_settings on it. However, version_info actually shouldn't
export_dependent_settings on generate_version_info, because it includes
version_info_values.h only in a cc file, not in a header.

Perhaps for this reason, the current structure doesn't actually work: if you do
a clobber build of one of the targets that depends on generate_version_info via
version_info (e.g., //components/browser_sync/browser), compilation will fail
due to not finding components/version_info/version_info_values.h. My
speculation is that either gyp or ninja correctly determines that the hard
dependency from (e.g.) //components/browser_sync/browser to
//components/version_info isn't actually necessary, but isn't smart enough to
add the missing dependency on generate_version_info.

This CL changes all targets that include
components/version_info/version_info_values.h to depend directly on
generate_version_info and removes the export_dependent_settings that
version_info previously had on generate_version_info.

BUG=553647

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

Cr-Commit-Position: refs/heads/master@{#359867}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 11f5399f..13075b3 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -613,6 +613,7 @@
     deps += [
       "//components/crash/content/app",
       "//components/crash/content/browser",
+      "//components/version_info:generate_version_info",
     ]
   }
   if (use_nss_certs) {