Add field trial stats for alternate_protocol. The histogram we collected are: 
http stats when alternate protocol is available but npn was not negotiated (
which means not usng spdy), and when alternate is available AND spdy is used.

Noticable changes:
1. In http_network_transaction.cc, changed the logic that always parse 
response from server for alternate protocol and remember that in 
HttpAlternateProtocols strucuture. We need to remember this to collect 
stats for servers with alternate protocol support but used http for.
2. In spdy_stream.cc, get rid of the response copy from spdy_stream. This
copy overwrites some early status in response set in http_network_transaction.


TEST=http_network_transaction_unittest.cc
BUG=46689

Review URL: http://codereview.chromium.org/2808010

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50927 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
index dd04773..991e697 100644
--- a/net/http/http_network_transaction_unittest.cc
+++ b/net/http/http_network_transaction_unittest.cc
@@ -4926,6 +4926,7 @@
   EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
   EXPECT_FALSE(response->was_fetched_via_spdy);
   EXPECT_FALSE(response->was_npn_negotiated);
+  EXPECT_FALSE(response->was_alternate_protocol_available);
 
   std::string response_data;
   ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
@@ -5195,6 +5196,7 @@
   EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
   EXPECT_TRUE(response->was_fetched_via_spdy);
   EXPECT_TRUE(response->was_npn_negotiated);
+  EXPECT_TRUE(response->was_alternate_protocol_available);
 
   ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
   EXPECT_EQ("hello!", response_data);
@@ -5433,6 +5435,7 @@
   EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
   EXPECT_TRUE(response->was_fetched_via_spdy);
   EXPECT_TRUE(response->was_npn_negotiated);
+  EXPECT_TRUE(response->was_alternate_protocol_available);
 
   ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
   EXPECT_EQ("hello!", response_data);
@@ -6090,6 +6093,7 @@
 
   EXPECT_FALSE(response->was_fetched_via_spdy);
   EXPECT_TRUE(response->was_npn_negotiated);
+  EXPECT_FALSE(response->was_alternate_protocol_available);
 
   HttpNetworkTransaction::SetNextProtos("");
   HttpNetworkTransaction::SetUseAlternateProtocols(false);