Simplified the EclipseConsole interface

Explicitly initialising a Coq console is no longer necessary
Removed an unnecessary coqtop instantiation from the Coq builder
Improved CoqEditorHandler.getNextCommand's handling of the ".." sequence

The getNextCommand method now skips over runs of full stops that don't end
a sentence, which stops it from misdetecting a sentence-ending sequence
Work around a deficiency in the Coq builder's dependency tracking code

Files with no dependencies don't appear in the dependency graph, and --
consequently -- are not built reliably. This commit addresses this problem
by adding a synthetic dependency to every file
Create a project-wide error marker when the Coq builder can't find coqtop
Added a resolution generator for Kopitiam problem markers

Resolution generators are used by Eclipse to populate a marker's "Quick
Fix" menu; no interesting resolutions are proposed at the moment, but
that'll change over time
Added a dummy quick assist processor to the Coq editor
Use a more sensible data structure to keep track of dependencies
The Coq builder should use IPaths instead of IFiles whenever possible

By making the dependency-tracking code less dependent upon Eclipse
concepts, it should be possible to adapt it to produce things like
Makefiles
Simplified the way the dependency tracker stores its results

This largely reverts commit f283d753b82a771b153234e6d2e9a54f4255e721; in
particular, the weird resolvable-later state made the rest of the builder
unnecessarily complicated
Gave the DependencyGraph class a more useful toString implementation

This will be useful when I'm debugging some upcoming changes to the Coq
builder
Greatly simplified the Coq builder's main build loop

The new, simpler loop ought to make it much easier to produce Makefiles --
and it should even improve the performance slightly
Expose the CoqBuilder build loop through the companion object
Extended the Coq builder to support the "Load" command
Expose the Coq builder's load path expansion through ICoqLoadPath
Moved the CoqBuilder.traverse method into the companion object
Moved most of the CoqBuilder.generateDeps code into the companion object
Moved the project-related UI code into a new ProjectUI.scala file

Project.scala is getting a bit incoherent and would benefit from being
broken up; this is a first step in that direction
Added support for generating Makefiles for Coq projects

The code behind this is a badly-mutilated version of the Coq builder, but
it does (almost) work properly
Removed the CoqBuilder.BuildTask.needsBuild method

If something doesn't need to be built, then a BuildTask for it shouldn't be
created