Ignore leading whitespace when creating step error markers

This stops error markers from appearing beside the wrong line
Implementors of ICoqVernacFile should also implement the IParent trait

ICoqVernacFile will soon be the normal way of retrieving sentences from a
Coq proof script
Don't strip comments from proof scripts before extracting dependencies

Commit 54546ceb5edf8f627ca8b831d2ba9822b4a0d665 started treating comments
as synthetic sentences, which made this extra pass unnecessary
Implemented IFolder and IFile support in CoqModelImpl.toCoqElement

This is very, very untested -- in fact, none of the Coq package code has
been used by anything up to this point
Added a trait for representing Coq sentences as model elements

This commit also adds an implementation of this trait and adds support for
creating sentence elements to CoqVernacFileImpl
Added a view for exploring the Coq model

This isn't intended to last very long, but it's a tremendously helpful
debugging tool
Extended the Coq model's support for proof script sentences

As a lightweight way of structuring proof scripts, sentences can now be
collected together into tagged groups, which can in turn contain other
sentences and tagged groups
Allow implementations of CoqScriptGroupDisposition outside of CoqModel
Moved the viewer filter definition into the Coqoon UI plugin manifest

The code for the filter had already been moved, so there was no reason for
this to stay in the Kopitiam manifest
Disentangled the Coqoon UI and Kopitiam plugin manifests

The Coqoon UI manifest no longer defines Kopitiam-specific extensions, and
the Kopitiam manifest no longer defines things which are useful to Coqoon
Improved the quality of the automatically-generated Makefiles

The Makefiles (which are now called "CoqoonMakefile") are now slightly more
portable, although I'm still not sure what to do about inter-project
dependencies
Added rudimentary support for building multiple .vo files at once

The builder now runs jobs in batches of two at a time, waiting for both to
finish before it schedules another. This strategy isn't ideal, but it's
markedly better than the old one
The Coq builder should mark all output directories as derived resources

The Java builder sets this flag, and it seems to cause version control
plugins to behave more reasonably when output files are created
Added some simple regular expression-based classifiers to CoqSentence
Added a parser support class to CoqSentence

CoqVernacFileImpl will shortly use this support class to organise sentences
into proof groups
Added support for creating tagged CoqProofGroups to CoqVernacFileImpl

Note that this still isn't useful yet -- in particular, there are lots of
proof-opening constructs that it doesn't recognise
Removed OutlineParser's sentence-splitting code

CoqSentence is now (at last!) the only implementation of sentence splitting
Added sentence classifiers for the beginning and end of sections

This commit also removes the case classes associated with each of these
classifiers, which were a relic of an older classification strategy
Protect against package fragments containing files with no content type
Allow users of ParserStack to retrieve the current innermost context

This should allow for slightly more nuanced error handling than the
existing "throw a generic exception and ruin everything" approach