Retrieve adapters in a safer manner

This is essentially commit 021cfd9bfb981fcd3b906ff05c18c673f6e529b6 for
the getAdapter method
Removed some leftover debugging code
Moved the doSplitAnnotations method into the CoqTopEditorContainer trait

CoqEditor and JavaEditorState now share a common implementation of the
annotation update code
Added a flag to control standard error redirection to CoqProgram.run

The previous version of the code unconditionally redirected standard error
to standard output, but that was causing intermittent coqtop problems
Moved the annotation model connection code into CoqTopEditorContainer
Moved the getSplitAnnotationRanges method out of JavaEditorState

JavaEditorState is now much more coherent, and CoqTopEditorContainer is
now much more useful
Perform compilation by invoking "coqtop -compile" directly

coqc attempts to forward many of its arguments on to coqtop, but it can't
forward empty arguments properly on Windows (and neither can Java, but
that's another problem for another commit)
Explicitly quote empty arguments on Windows

Java's platform-specific process support code is apparently not clever
enough to handle Windows' unorthodox command line arrangements