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.
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.
shell: Show bonding network devices.
shell, NM model: Run type-specifc hooks at export time.

This will be used to create back references from connections to their
devices, etc.
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.
shell, NM Model: invent 'Interface' objects.

To represent network devices that NM knows about but the kernel
doesn't, such as inactive bonds.
shell, NM Model: Use a hashtable for connection uuids.
shell, NM Model: Support for deleting connections.
shell, NM Model: Delay exporting.

Also, export after dropping an object.
shell: Primitive support for creating network bonds.
shell: Removed unused boolbox function.
shell: Support for adding/removing bond slaves.
shell: Support deletion of deletable network interfaces.
shell: Don't put links into the list of network interfaces.

They don't work well there.
shell: More network bonding options.
shell: Configure network bond at creation time.
test: Fix check-networking.

This got broken by "web: Add graphs to networking page".
test: Add integration test for bonds.