Changed interface label change handling in the gasharl interfaceCustom class

Previously, I was doing something cheap and just setting the label for
an embedded interface when the object was committed, but this made it
impossible to swap IP addresses between two otherwise identical
objects in a single commit, as the hidden label is namespace-constrained.

Now, changing the IP address, Name, or MAC address of an interface
immediately causes the label to be updated, and the client to refresh
the label.
"genericized" some containers in gclient and vectorPanel
Fixed a NPE in the interface change I just made.  gasharl.