Added a new trivial scheduling rule

An instance of the new UniqueRule class conflicts with itself and with
nothing else; this will be used to make the job manager do the right thing
when the workspace rule factory might produce null rules
Changed the way PIDECoqEditor tracks added and removed commands

In particular, removed commands no longer need to have annotations
associated with them, as this mechanism will shortly be used to add and
remove errors as well
Added a private marker update workspace job to PIDECoqEditor

The existing approach of creating and deleting markers is broken: the UI
thread has no way of getting references to the created markers, so deleting
them doesn't work reliably. This new job will removes and creates markers in
a more structured fashion, using an extra marker attribute to associate
markers with commands
Use the new UpdateErrorsJob class to create and remove PIDE error markers

The job manager will execute UpdateErrorsJobs in the order that they're
scheduled, which ensures that markers will be deleted at the right point