Allow the app banner installability check to run on page load.

This CL implements a feature to control when the app banner
installability check is run - when the site accumulates sufficient
engagement (current default), or on every page load. Significant
refactoring of the AppBannerManager's internal state and new tests are
added to support this functionality.

New metrics are introduced in the installable manager to measure the
state of the installability check when the Android menu / add to
homescreen menu item are used. These metrics will be used to measure the
impact of running app banner checks as they are now / on page load in
determining how often we know that a site is a PWA when the user
interacts with the menu.

BUG=704369

Review-Url: https://codereview.chromium.org/2778983005
Cr-Commit-Position: refs/heads/master@{#461967}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 4b3a926..b8179be 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -498,6 +498,8 @@
     "installable/installable_logging.h",
     "installable/installable_manager.cc",
     "installable/installable_manager.h",
+    "installable/installable_metrics.cc",
+    "installable/installable_metrics.h",
     "internal_auth.cc",
     "internal_auth.h",
     "interstitials/chrome_controller_client.cc",