Pass ServiceProvider and ServiceProvider& params in Connect

In preperation for removing the Client annotation from ServiceProvider
this passes a second parameter of type ServiceProvider in the shell and
application Connect calls. In this patch the type signatures are updated
but the second parameter is basically unused. The intention is that the
first parameter |services| will be used for the connecting application to
request services from the connected application (as it does currently)
and the second parameter |exported_services| be used for the connecting
application to provide services to the connected application. We have
very few services exported in the second direction today - I'll update
them to use the second parameter in a follow-up patch.

R=darin@chromium.org

Review URL: https://codereview.chromium.org/845593003
diff --git a/mojo/application_manager/application_manager.h b/mojo/application_manager/application_manager.h
index f98f17a..75a3d06 100644
--- a/mojo/application_manager/application_manager.h
+++ b/mojo/application_manager/application_manager.h
@@ -48,13 +48,14 @@
     DISALLOW_COPY_AND_ASSIGN(TestAPI);
   };
 
-  ApplicationManager(Delegate* delegate);
+  explicit ApplicationManager(Delegate* delegate);
   ~ApplicationManager();
 
   // Loads a service if necessary and establishes a new client connection.
   void ConnectToApplication(const GURL& application_url,
                             const GURL& requestor_url,
-                            ServiceProviderPtr service_provider);
+                            InterfaceRequest<ServiceProvider> services,
+                            ServiceProviderPtr exposed_services);
 
   template <typename Interface>
   inline void ConnectToService(const GURL& application_url,
@@ -110,13 +111,15 @@
   void ConnectToApplicationImpl(const GURL& requested_url,
                                 const GURL& resolved_url,
                                 const GURL& requestor_url,
-                                ServiceProviderPtr service_provider,
+                                InterfaceRequest<ServiceProvider> services,
+                                ServiceProviderPtr exposed_services,
                                 ApplicationLoader* loader);
 
   void ConnectToClient(ShellImpl* shell_impl,
                        const GURL& url,
                        const GURL& requestor_url,
-                       ServiceProviderPtr service_provider);
+                       InterfaceRequest<ServiceProvider> services,
+                       ServiceProviderPtr exposed_services);
 
   void LoadWithContentHandler(const GURL& content_handler_url,
                               ScopedMessagePipeHandle shell_handle,