[experimental] Moved everything into the model.descriptors package

Descriptor execution is clearly the way forwards, so I need to start
supporting it properly. This commit is a first step in that direction
[wrapper] Moved executor and validator initialisation into a new class
[changes.exsd] Added support for descriptor validators and executors

This commit also adds (restores?) support for contributing executors, which
was mysteriously broken
[ChangeExtensions] Register and unregister change descriptor contributions

This commit also tidies up the code a bit -- in particular, object creation
(and its error handling) now lives in a separate private static method
[model] Introduced a convenient base class for descriptor handlers
[AbstractParticipantHost] Added a method for removing participants

This method is deliberately not part of the IParticipantHost interface, and
it's a protected method of this class; subclasses can decide whether or not
to expose it
[descriptors] Made the two step interfaces implement IParticipant

This change will let me use AbstractParticipantHost as the basis of
DescriptorValidatorManager, cutting down on unnecessary code
[descriptors] Rebased the two manager classes upon AbstractParticipantHost

I should probably do something similar to the change managers
[process] Improved the Javadoc
[ParticipantManager] Removed the static ParticipantManager instance

Saver and Loader now have separate static ParticipantManagers
[editors, loaders] Use PointChangeDescriptors in a few more places

Big Red is now almost entirely ChangeConnect- and ChangeDisconnect-free;
once I've sorted the playground out, it should be possible to completely
remove the PointChange and PointHandler classes
[model] Introduced a common base class for normal change handlers

DescriptorHandlerUtilities' name is becoming increasingly misleading!
[DescriptorHandlerUtilities] Renamed to HandlerUtilities

This commit also removes the long-obsolete NamedModelObjectHandler class
and moves its name-checking functionality into HandlerUtilities
[BoundDescriptor] Added some Javadoc
[ChangeExtensions] Unified descriptor validator and executor handling

Things can be much simpler now that both interfaces extend IParticipant
[changes] Made the two step interfaces implement IParticipant
[assistants] Rebased the two manager classes upon AbstractParticipantHost
[model] Removed some unnecessary constructors
[Activator] Removed some unnecessary static methods
[ChangeExtensions] Unified change validator and executor handling