net_models: make network hierarchies iterable

network hierarchies are tree-like data structures that contain all
the devices in a network. It is useful to be able to iterate through
the 'tree' in order to retrieve hierarchy properties such as vlan
tag and backing device (nic or bond) of the network topology.

This patch adds that with proper unit tests.

Change-Id: I333866c1b8d569520c641e462dfe64cb43ea1ae7
Signed-off-by: Antoni S. Puimedon <asegurap@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/32606
Reviewed-by: Dan Kenigsberg <danken@redhat.com>