Implement NetworkScanner and add tests

This CL implements NetworkScanner and adds tests. This allows the use of
multiple HostLocators by registering it with NetworkScanner.

Bug: chromium:757625
Change-Id: I5c607450196f3f1751cab44ff42b94057d142442
Reviewed-on: https://chromium-review.googlesource.com/952369
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Commit-Queue: Allen Vicencio <allenvic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542657}
4 files changed