[Signature] Use a HashSet rather than a List to store controls
[AbstractGEFEditor] Sort the control palette by control name

The GEF and non-GEF editors now (finally!) sort controls in the same way
[Signature] Added a descriptor for removing controls
[PropertyScratchpad] Added a toString() implementation to the NNPair class

This makes debugging much easier
[Control] Replaced ChangeKind with a change descriptor
[SignatureEditor] Made it easier to apply BoundDescriptors
[HandlerUtilities] Added a utility method for looking up identifiers

This method automatically throws a ChangeCreationException if the lookup
fails
[model] Use the new tryLookup method in the descriptor handlers
[Control] Introduced change descriptors for adding and removing PortSpecs

This commit also adds execution and validation logic for these descriptors
[Control, PortSpec] Deleted the changes for adding and removing PortSpecs

Change descriptors must now be used in both cases
[Signature, Control] Deleted the changes for adding and removing Controls

Signature's change descriptors are now responsible for both of these
[editors] Added a toolbar button for toggling edge display

This doesn't quite work properly yet -- there are some redrawing bugs. I'll
add a copy of this button to the rule editor once I've fixed them