[CollectionUtilities] Strengthened the return type of the collect methods

All four methods now return a List, not a bare Collection
[LexerFactory] Added an additional lexing strategy

This commit also adds lots of Javadoc to LexerFactory and its nested
classes
[BGMParser] Handle reaction rules in a less disastrous manner

Although reaction rule parsing still doesn't work properly, it no longer
brings down the rest of the parser with it
[Store] Added some fallback behaviour to the EntryIdentifier.lookup method

If a Resolver can't find anything, then EntryIdentifiers will now attempt
to look themselves up in a shared instance of Store
[ResolverDeque] Deleted ResolverDeque

The new fallback behaviour in EntryIdentifier.lookup makes this class
unnecessary. It also makes SignatureEditor's instance of Store unnecessary,
so this commit removes that, too
[BigraphOperations] Added a utility class for bigraph operations

The goal of this class is to serve as a host for complex bigraph
operations. At the moment, it just reimplements the deletion code from
ModelDeleteCommand using IChangeDescriptors
[ModelDeleteCommand] Use the new BigraphOperations class to delete objects
[ContainerDescriptorHandler] Refuse to delete Layoutables with extended
data
Revert "[ChangeDescriptorGroup] Weakened the return type of the inverse() method"

This reverts commit 8c15bd47d03a4f33b43a8390a266e9d2f3d3317e, which is no
longer necessary
[BigraphOperations] Added a method for reparenting objects

This is not, strictly speaking, true: like the existing reparenting code,
this method destroys a hierarchy and rebuilds it somewhere else. Unlike
that code, however, this code (somewhat dangerously) invalidates old object
references
[LayoutableReparentCommand] Use BigraphOperations to reparent objects
[Store] Remove DummyModelObjects after executing FromStoreDescriptors
[commands, assistants] Removed some leftover debugging code
[BigraphBuilder] Replaced all changes with change descriptors
[ContainerDescriptorHandler] Validate names in ChangeAddChildDescriptors

In retrospect, this was something of a silly oversight
[BigraphTests] Replaced all changes with change descriptors

This has somewhat of an impact on the usefulness of BigraphDescriptorTests,
so I should probably either remove that or port it back to IChanges
[BigraphXMLLoader] Replaced the last change with a change descriptor
[BigraphOperations] Added null pointer checks to all of the methods
[NamedModelObject] Added two utility methods for sorting objects by name
[BigraphXMLLoader] Don't try to undecorate useless temporary references

I need to come up with a better way of creating objects