Change the interface of GetAlternativeServicesFor to GetAlternativeService, always return the best Alt-Svc entry from a list

BUG=570098

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

Cr-Commit-Position: refs/heads/master@{#368258}
diff --git a/net/quic/quic_stream_factory.h b/net/quic/quic_stream_factory.h
index fd317d66..8ce70a9 100644
--- a/net/quic/quic_stream_factory.h
+++ b/net/quic/quic_stream_factory.h
@@ -23,6 +23,7 @@
 #include "net/base/host_port_pair.h"
 #include "net/base/network_change_notifier.h"
 #include "net/cert/cert_database.h"
+#include "net/http/http_server_properties.h"
 #include "net/log/net_log.h"
 #include "net/proxy/proxy_server.h"
 #include "net/quic/network_connection.h"
@@ -151,6 +152,12 @@
       const QuicTagVector& connection_options);
   ~QuicStreamFactory() override;
 
+  // Returns true if there is an existing session to |server_id| which can be
+  // used for request to |origin_host|.
+  bool CanUseExistingSession(QuicServerId server_id,
+                             PrivacyMode privacy_mode,
+                             StringPiece origin_host);
+
   // Creates a new QuicHttpStream to |host_port_pair| which will be
   // owned by |request|.
   // If a matching session already exists, this method will return OK.  If no