[Schemas] Don't load schemas immediately after registering them

This change should allow for more complex relationships between schemas; in
particular, cycles should no longer be a problem
[Schemas] Registered the schemas for the EDIT_BIG and EDIT_SIG namespaces

It may be necessary to expose these more publicly later; for now, though,
simple registration is fine
[EditXMLLoader] Treat descriptor creation failures as fatal errors
[EditXMLLoader] Fixed a stupid bug in the makeRename(Element) method

The first child node of an element is almost guaranteed to be a text node
containing whitespace, so the previous way of attempting to retrieve an
element would almost never work
[EditXMLLoader] Removed some very strange (and unnecessary) code

EditXMLLoader somehow managed to develop two different ways of giving the
BigraphEditLoader class special treatment; this commit removes one of them
[XMLLoader] Moved the shared schema factory into the Schemas class

As the Schemas class is now the only user of the schema factory, this
commit accordingly reduces its visibility
[RedXMLEdits] Added support for loading and saving null colour values
[XMLLoader] Removed the getIntAttribute and getDoubleAttribute methods

Both methods had only one user and were trivially inlineable
[RedXMLUndecorator] Removed lots of unnecessary name qualification
[LinkConnectionCreateCommand] Ported to use change descriptors

The port isn't complete yet -- in particular, to keep ChangeCommand happy,
a ChangeGroup is still used to contain everything
[model] Unified the two implementations of name validity checking
[ContainerDescriptorHandler] Moved instantiation into a separate function

Change simulation will need to be able to call this method; while this is
still a bit hard-coded, and makes it unnecessarily hard to create new model
objects, it doesn't make the situation any worse than it was
[EditDescriptorHandler] Avoid an unnecessary call to getDescriptors
[DescriptorHandlerUtilities] Introduced some position-handling utilities

Descriptors which modify lists should defer to the methods of this class to
perform their position-related checks
[EditDescriptorHandler] Use DescriptorHandlerUtilities' position checks
[SignatureDescriptorHandler] Use DescriptorHandlerUtilities' position
checks
[SimulationSpecDescriptorHandler] Use DescriptorHandlerUtilities'
descriptor checks
[model] Added "support" for positions to more add and remove descriptors

Although the descriptor objects now have a position field, none of the
methods and constructors that make use of it have public visibility yet
[Container] Took responsibility for the ChangeRemoveDescriptor class

Removal changes can automatically track their creator, but (static) change
descriptors can't; as a result, separating removal descriptors from
addition descriptors just makes things unnecessarily complicated. This
commit also makes the newly-renamed ChangeRemoveChildDescriptor class
behave more like ChangeAddChildDescriptor
[PropertyScratchpad] Added support for retrieving modifiable sets