system_queries: Get Interface Info from netlink

This reduces all of the interface information probing down to a single
netlink request for all the label + mac information needed to build an
ethernet interface.

If we ever plumb the ethernet stats into dbus, we can get that
information with this same netlink code.

Change-Id: Ied8a73639dcd74bcfecda392905638573ab7970f
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/mock_network_manager.hpp b/test/mock_network_manager.hpp
index 69a3263..637ce69 100644
--- a/test/mock_network_manager.hpp
+++ b/test/mock_network_manager.hpp
@@ -25,20 +25,18 @@
 
     void createInterfaces() override
     {
-        // clear all the interfaces first
         interfaces.clear();
-        auto interfaceStrList = system::getInterfaces();
-        for (auto& interface : interfaceStrList)
+        for (auto& interface : system::getInterfaces())
         {
-            // normal ethernet interface
-            config::Parser config(config::pathForIntfConf(confDir, interface));
+            config::Parser config(
+                config::pathForIntfConf(confDir, *interface.name));
             auto intf = std::make_unique<MockEthernetInterface>(
-                bus, *this, getInterfaceInfo(interface), objectPath, config);
+                bus, *this, interface, objectPath, config);
             intf->createIPAddressObjects();
             intf->createStaticNeighborObjects();
             intf->loadNameServers(config);
             this->interfaces.emplace(
-                std::make_pair(std::move(interface), std::move(intf)));
+                std::make_pair(std::move(*interface.name), std::move(intf)));
         }
     }