Added a builder, nature and wizard for Coq projects
Added a content type for .vo files

This commit also changes the content type IDs for .v and .vo files -- they
should have been fully qualified, and now they are
Added an early prototype of a model for Coq elements

None of these interfaces are anything like stable, so use them at your own
risk
Use the new CoqModel methods to create, configure and deconfigure projects

To avoid confusion, this commit also changes the name of the nature class
from CoqProject to CoqNature
Added support for load paths to the Coq project abstraction
Tidied up the Coq model's description processing code
Don't wrap simple operations inside IRunnableWithProgress objects
Create source and binary folders when creating a Coq project

The paths to these folders are all hard-coded at the moment. Another page
should be added to the creation wizard to make them configurable
Added a property page for configuring a Coq project's load path

This is just a placeholder at the moment; eventually it'll look -- and
work -- like the Java class path configuration page
Added more of the Coq load path preference page's user interface
Give a more helpful error when the coqtop program can't be found
Made the Coq program location code more uniform
A missing Charge! path shouldn't stop Coq from starting
Changed the behaviour of the CoqEditor marker setter methods

It's now safe to call CoqEditor.setUnderway and CoqEditor.setCompleted from
any thread, and both methods now have a mechanism to avoid scheduling too
many annotation updates
Made the Coq editor's rate-limiting mechanism generally available
Merge branch 'project-infrastructure'

Conflicts:
	plugin.xml
Always use "dk.itu.sdg.kopitiam.CoqNature" as the Coq project nature ID
Removed the hard-coded load paths from InitialiseCoqRunner

InitialiseCoqRunner now uses the load paths associated with an ICoqProject;
those are still hard-coded at the moment, but that'll change soon