Move Android SPNEGO token generation to the browser process

This creates a HttpNegotiateAuthSystem interface which the network
service can implement which calls out to the browser process for token
generation. A NegotiateAuthSystemFactory can be passed through to the
HttpAuthHandlerFactory, which will be used in the Android network
service case to override the default android AuthSystem.

This has been manually tested on Android with the instructions here:
https://chromium.googlesource.com/chromium/src.git/+/lkgr/tools/android/kerberos/README.md
If there is a more robust way of testing, please let me know.

Bug: 922127
Change-Id: Ia858c157d823cafe13bcfcbd97dd19e8a85c6c68
Reviewed-on: https://chromium-review.googlesource.com/c/1413140
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Asanka Herath <asanka@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Clark DuVall <cduvall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#625231}
19 files changed