Use the new, simpler factory method for creating CoqTopIdeSlaves
Unified all of the syncExec and asyncExec helper methods

This commit also replaces some (potentially unsafe) calls to SWT's
Display.getDefault method
Use ASTNode rather than Statement for current and underway Java positions

The ASTNode class exposes the getStartPosition and getLength methods, and
those are the only ones we need
Removed some useless code from the DocumentMonitor class

The activateEditor method once configured annotations and created
CoqJavaProjects, but now it does nothing; accordingly, this commit removes
it and the few remaining calls to it
Added the outline of a job for stepping backwards in Java proofs

This is currently useless, but the Java action handlers use it for testing
purposes
Added an early implementation of the Java step-back job

This almost works, although there are a few bugs: it appears to be possible
to step back past the beginning of the proof, and there's no obvious way to
invalidate the Java editor's annotation presentation
Invalidate the Java editor's text presentation by using an internal class

This hack is a slightly more reckless version of what the Coq editor is
already doing, so finding a better approach would improve both editors
Don't use raw Coq commands to set up the Java proof environment

Using raw commands for proof content apparently plays havoc with Coq's
ability to backtrack
Added a safe getter and setter for the Coq proof AST node property
Removed some leftover debugging code
Added some experimental basic job infrastructure
Reworked the Java editor jobs to use the new basic job infrastructure

I think this is a much better way of performing finalisation and cleanup.
This commit even paves the way for sharing some code between the Java and
Coq jobs
Tweaked some of the basic job infrastructure classes

In particular, the JobBase class no longer requires a CoqTopContainer
Made CoqCompileJob use the new basic job infrastructure classes
Improved the error feedback from CoqCompileRunner

The old code tried to keep only the last line of compiler output, but it
didn't actually work. The new code keeps everything
Removed the retraction code from DocumentMonitor

This code was also the last user of the CoqShellTokens class, so this
commit also removes that
Use the ASTNode property from KopitiamAspects to retrieve antiquote content
Removed the now-unnecessary IDocument parameter from printProofScript

This commit also removes lots of orphaned code that used the old version of
the printProofScript method
Improved the Coq editor's automatic retraction

This relies on interrupts, so it won't work on Windows for the time being
Only complete a Java method proof if "Qed." succeeds