Introduce AlternateProtocolInfo.is_broken.

Introduce bool AlternateProtocolInfo.is_broken and remove
ALTERNATE_PROTOCOL_BROKEN from enum AlternateProtocol.  This allows
AlternateProtocolInfo to keep track of which protocol is broken.  Note that the
port does not identify the protocol: most notably, SPDY and QUIC can use the
same port, but one uses TCP, the other UDP.

This change is essential if we want to keep track of multiple
AlternateProtocolInfo structs for each server, in preparation for alternate
service support.

Note that this change stops writing out broken protocols to prefs in
HttpServerPropertiesManager::UpdatePrefsOnPrefThread().  This is okay, because
HttpServerPropertiesManager::UpdateCacheFromPrefsOnPrefThread() used to refuse
to load broken ones already, see IsAlternateProtocolValid(protocol) in line 436.

BUG=392575

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

Cr-Commit-Position: refs/heads/master@{#303075}
9 files changed