Android: Remove ApplicationStatus from @MainDex

ApplicationStatus ends up pulling in a *lot* of code, because it ends up
pulling in all of its listeners.

This reduces the main dex size by 3400 methods.

To get ApplicationStatus to not be included:
 * Made @MainDex applicable to methods
   * Changed ContextUtils and ChromeApplication to annotate methods
     rather than entire class.
 * Stopped using mainDexClasses.rules, in order to avoid -keep'ing all
   of ChromeApplication.attachBaseContext(). Really, all that's needed
   to be kept is the part of attachBaseContext() before the
   ChromiumMultiDexInstaller.install() call.

Bug: 820570
Change-Id: I39220b99f6d89b2429ba7406619a485179a3b2fc
Reviewed-on: https://chromium-review.googlesource.com/963307
Commit-Queue: agrieve <[email protected]>
Reviewed-by: Yaron Friedman <[email protected]>
Reviewed-by: John Budorick <[email protected]>
Cr-Commit-Position: refs/heads/master@{#543831}
diff --git a/content/shell/android/BUILD.gn b/content/shell/android/BUILD.gn
index c15d4fd..3c2e76a 100644
--- a/content/shell/android/BUILD.gn
+++ b/content/shell/android/BUILD.gn
@@ -64,7 +64,6 @@
     ":content_shell_java_resources",
     ":content_shell_manifest",
     "//base:base_java",
-    "//base:base_java_test_support",
     "//components/content_view:content_view_java",
     "//content/public/android:content_java",
     "//device/geolocation:geolocation_java",
@@ -200,7 +199,7 @@
 
 instrumentation_test_apk("content_shell_test_apk") {
   deps = [
-    "//base:base_javatests",
+    "//base:base_java_test_support",
     "//content/public/android:content_javatests",
     "//net/android:net_javatests",
     "//third_party/android_support_test_runner:runner_java",