Add chrome/browser/apps/BUILD.gn and move Chrome-specific code there

This moves references to c/b/apps from their awkward place in
c/b/extensions to a standalone source_set in c/b/apps/BUILD.gn.

Now, c/b/apps explicitly depends on c/b/extensions, and c/b/extensions
need not explicitlty depend on c/b/apps. (Some circular includes are
still required, e.g. for app-specific API calls within c/b/extensions.)

Apart from BUILD.gn files, the structural changes are:
* moving {apps => chrome/browser/apps}/app_load_service.cc
* adding chrome/browser/apps/browser_context_keyed_service_factories.* to
  handle startup/shutdown tasks

The following gn checks now pass:
* //apps (used to fail)
* //chrome/browser/apps (newly added)

The following gn checks used to pass, and still do:
* //chrome/browser/extensions
* //chrome/browser/ui

The following gn checks still fail, but with fewer errors:
* //chrome/browser

BUG=679971,159366
[email protected]

Review-Url: https://codereview.chromium.org/2789253003
Cr-Commit-Position: refs/heads/master@{#462314}
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
index d30d6b79..6ef51a2 100644
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
@@ -15,18 +15,6 @@
   sources = [
     # TODO These references to files in //chrome/browser/ should either be
     # moved to the browser target or the files moved to this directory.
-    "../apps/app_launch_for_metro_restart_win.cc",
-    "../apps/app_launch_for_metro_restart_win.h",
-    "../apps/app_url_redirector.cc",
-    "../apps/app_url_redirector.h",
-    "../apps/app_window_registry_util.cc",
-    "../apps/app_window_registry_util.h",
-    "../apps/install_chrome_app.cc",
-    "../apps/install_chrome_app.h",
-    "../apps/shortcut_manager.cc",
-    "../apps/shortcut_manager.h",
-    "../apps/shortcut_manager_factory.cc",
-    "../apps/shortcut_manager_factory.h",
     "../ui/app_icon_loader.cc",
     "../ui/app_icon_loader.h",
     "../ui/toolbar/toolbar_actions_model.cc",
@@ -815,6 +803,7 @@
     "//content/public/browser",
   ]
   deps = [
+    "//apps",
     "//chrome:extra_resources",
     "//chrome:resources",
     "//chrome:strings",