netinfo: optimize ipaddr retrieval

We used to retrieve IP address information for each device when
getting capabilities or in general doing netinfo.get. This in turn
was calling python ethtool that was doing:
One netlink roundtrip to get the etherinfo object. One round trip
for ipv4 and one for ipv6.

For 200 bridged, vlanned, bonded (with 2 nics) networks this meant:
200bridges + 200vlans + 1 bond + 2 nics = 403 devices
+
200 networks
= 603 calls to getIpInfo for 0.7867s

This patch changes the implementation so that we use netlink to
retrieve all the ipaddrs and then we match them to the devices
we have, saving most of the work.

= 603 calls to getIpInfo for 0.009371s + 0.03327s spent on
vdsm.netlink (from netinfo.get)

It's one of the patches destined to fix the bug below.

Bug-Url: https://bugzilla.redhat.com/1053114
Change-Id: I571529f6dd379ffb317625fd9e2abd6b5ae88696
Signed-off-by: Antoni S. Puimedon <asegurap@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/23518
Reviewed-by: Francesco Romani <fromani@redhat.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>