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: Add integration test for bonds.
shell, NM model: Use arrays for exporters instead of magic names.
shell: Improve display of network interfaces without devices.

Instead of just "--", we now show type and status in the normal
places.
shell: Don't show "Delete" button for unknown network interfaces.

Also, make sure that $(...).toggle() is only called with "true" or
"false".  We used to call it with "null" accidentally, which would not
do what we want and cause the "Delete" button to show temporarily.
shell: Added Array.prototype.find polyfill.