mojo: add some end-to-end shell tests and a new test sample app

* Adds several shell integration tests that connect multiple services and applications together.
* Adds ToyMonitoringService and associated standalone application. Used to collect data about various services that connect with it and provide a report (e.g to the shell) for test verification purposes.

BUG=378155

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@280956 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/mojo/mojo_services.gypi b/mojo/mojo_services.gypi
index 2fd4583..0b5e1b98 100644
--- a/mojo/mojo_services.gypi
+++ b/mojo/mojo_services.gypi
@@ -448,7 +448,9 @@
       'target_name': 'mojo_test_service_bindings',
       'type': 'static_library',
       'sources': [
+         # TODO(tim): Move to services/public/interfaces?
         'services/test_service/test_service.mojom',
+        'services/test_service/test_request_tracker.mojom',
       ],
       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
       'export_dependent_settings': [
@@ -459,7 +461,7 @@
       ],
     },
     {
-      'target_name': 'mojo_test_service',
+      'target_name': 'mojo_test_app',
       'type': 'loadable_module',
       'dependencies': [
         '../base/base.gyp:base',
@@ -471,10 +473,37 @@
       ],
       'sources': [
         'public/cpp/application/lib/mojo_main_standalone.cc',
+        'services/test_service/test_request_tracker_client_impl.cc',
+        'services/test_service/test_request_tracker_client_impl.h',
         'services/test_service/test_service_application.cc',
         'services/test_service/test_service_application.h',
         'services/test_service/test_service_impl.cc',
         'services/test_service/test_service_impl.h',
+        'services/test_service/test_time_service_impl.cc',
+        'services/test_service/test_time_service_impl.h',
+      ],
+    },
+    {
+      'target_name': 'mojo_test_request_tracker_app',
+      'type': 'loadable_module',
+      'dependencies': [
+        '../base/base.gyp:base',
+        'mojo_application',
+        'mojo_environment_standalone',
+        'mojo_test_service_bindings',
+        'mojo_system',
+        'mojo_utility',
+      ],
+      'sources': [
+        'public/cpp/application/lib/mojo_main_standalone.cc',
+        'services/test_service/test_request_tracker_client_impl.cc',
+        'services/test_service/test_request_tracker_client_impl.h',
+        'services/test_service/test_request_tracker_application.cc',
+        'services/test_service/test_request_tracker_application.h',
+        'services/test_service/test_time_service_impl.cc',
+        'services/test_service/test_time_service_impl.h',
+        'services/test_service/test_request_tracker_impl.cc',
+        'services/test_service/test_request_tracker_impl.h',
       ],
     },
     {