Split share discovery into two steps

This change modifies the current GetSharesInNetwork function so that a
callback is fired as soon a discovery is done to indicate that name
resolution is possible. Additionally, a new ShareFinder::DiscoveryHosts
method enables performing host discovery without querying each host for
its shares. This change will make it possible to perform name resolution
on reboot.

Bug: chromium:757625
Change-Id: I437ca8ad6400824a3fbc9b870b5fb0307cee2ac4
Reviewed-on: https://chromium-review.googlesource.com/1199685
Commit-Queue: Bailey Berro <baileyberro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589711}
5 files changed