[IChange] Removed the isReady and canInvert methods

Nothing was ever calling the canInvert method, and the checks performed by
the isReady implementations have now been moved to the relevant handlers
[IChange] Added a Resolver parameter to the simulate method

This makes the method's signature compatible with that of IChangeDescriptor
[IChange] Removed the beforeApply method

The few remaining implementations of this method are now just part of the
handler execution phase
[IChange] Implemented the IChangeDescriptor interface

The process of removing IChange can now begin in earnest
[ChangeRejectedException] Deleted ChangeRejectedException

Now that IChanges are IChangeDescriptors, ChangeCreationExceptions can be
used in all cases. (Of course, that name is getting less and less accurate
every day...)
[IStepValidator] Deleted the Callback interface

IDescriptorStepValidator.Callback should now be used in all circumstances
[IStepValidator] Deleted the Process interface

As you could probably have guessed, its replacement is
IDescriptorStepValidator.Process
[IStepValidator] Changed the signature of the tryValidateChange method

Its signature is now identical to that of its identically-named colleague
in IDescriptorStepValidator
[IStepValidator] Deleted IStepValidator

All of the former implementors of this interface now implement
IDescriptorStepValidator
[IStepExecutor] Deleted IStepExecutor

IDescriptorStepExecutor is its appointed replacement, and thus the pattern
of the last few commits repeats itself once more
[ValidatorManager] Deleted ValidatorManager

For the time being, ExecutorManager survives, although as nothing more than
a thin wrapper around DescriptorExecutorManager. Note that this commit
temporarily ruins IChange.Group handling
[ChangeDescriptorGroup] Weakened the return type of the inverse() method

This is a temporary change that will make it possible for ChangeGroup to
become a subclass of ChangeDescriptorGroup
[ChangeGroup] Rebased upon ChangeDescriptorGroup

Excellent! It should soon be possible to remove ChangeGroup altogether
[ExecutorManager] Deleted ExecutorManager

The remaining methods of ExecutorManager have been deprecated and moved
into DescriptorValidatorManager and DescriptorExecutorManager
[IChangeLoader] Changed the method signatures to use change descriptors

Almost all of the clients of this interface are still using it to insert
old-fashioned IChanges and BoundDescriptors, which is something to fix
later
[ChangeCommand] Store the change as an IChangeDescriptor
[IChange] Removed the Group interface

ChangeGroup was the last client of this interface, and the previous commit
removed all of its remaining references
[ChangeGroup] Removed some unnecessary constructors and methods
[ChangeGroup] Deleted ChangeGroup
[ChangeCommand] Changed the type of the context field to Resolver