(CFACT-124, CFACT-76) Refactor networking resolver.

Refactor the networking resolver into a base type that is responsible
for adding a fact and child types that are responsible for collecting
data.  This keeps the fact definition in one place and allows Windows to
share the base implementation.

This commit also adds a structured "networking" fact that collects all
networking data into one place.