Pretty print AlternativeService in test macros.

Implement operator<<(std::ostream&, const AlternativeService&) so that when
EXPECT_EQ or ASSERT_EQ fails between two AlternativeService structs, the test
output contains protocol names and hostnames pretty printed, instead of a binary
blob including useless things like the memory address of where std::string
stores the hostname.

Currently used in AlternateProtocolServerPropertiesTest.BrokenShadowsCanonical
only, but more tests involving EXPECT_EQ between AlternativeService structs are
coming.

BUG=392575

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

Cr-Commit-Position: refs/heads/master@{#336551}
2 files changed