(CFACT-86) Networking facts for solaris

This patch adds support for networking facts for solaris. This is patterned on
the bsd networking resolver. 

This code shouldn't be calling either `upper_bound` or `equal_range`.  The keys are in sort order, so we should be doing something like this:

    decltype(interface_map.begin()) it = interface_map.begin();
    while (it != interface_map.end()) {
        string const& interface = it->first;
        bool primary = interface == primary_interface;
        // Process all the addresses for the interface
        do {
            auto addr = it->second;
            ...
            ++it;
        } while (it->first == interface);
        
        ...
    }

The multimap keys are in sort order; we should just be going through them in a linear fashion.