shell: Add cockpit_go_sibling

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Add cockpit.util.uuid()

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: IP settings are optional for a network connection

Bond and bridge slaves don't want them.

However, we make sure that all non-slave connections have explicit IP
settings since NM doesn't always add them itself.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Show active slave relationships for network devices

By using the ActiveConnection of a device instead of the device
directly, we can also remove one HACK.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Show bonding network devices

Reviewed-by: Stef Walter <stefw@redhat.com>
shell, NM model: Run type-specifc hooks at export time

This will be used to create back references from connections to their
devices, etc.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Make master/slave relationship between connections explicit

And render it.  Mentioning the connection id with every link is
overkill and will be addressed as part of #732.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell, NM Model: invent 'Interface' objects

To represent network devices that NM knows about but the kernel
doesn't, such as inactive bonds.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell, NM Model: Use a hashtable for connection uuids

Reviewed-by: Stef Walter <stefw@redhat.com>
shell, NM Model: Support for deleting connections

Reviewed-by: Stef Walter <stefw@redhat.com>
shell, NM Model: Delay exporting

Also, export after dropping an object.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Primitive support for creating network bonds

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Removed unused boolbox function

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Support for adding/removing bond slaves

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Support deletion of deletable network interfaces

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Don't put links into the list of network interfaces

They don't work well there.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: More network bonding options

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Configure network bond at creation time

Reviewed-by: Stef Walter <stefw@redhat.com>
test: Add integration test for bonds

Reviewed-by: Stef Walter <stefw@redhat.com>
shell, NM model: Use arrays for exporters instead of magic names

Reviewed-by: Stef Walter <stefw@redhat.com>