Only perform code folding on long blocks of code
Merged the VernacularReserved object into CoqTokenScanner

This commit also removes the now-empty dk.itu.coqoon.ui.coqparser package
Tidied up the syntax highlighter's word detection implementation

This is now a (reasonably) faithful implementation of Coq's own rules for
identifiers, which should also be useful elsewhere in the code
Began working on some design documentation for Coqoon 0.4.x

Calling this a "first draft" would be generous: this is a few semi-related
thoughts scrawled down and stuck together with LaTeX
Added more text about plug-in manifests to the design documentation

This commit also adds a few more placeholder sections and fleshes out the
history a bit more
Tidied up the lazy activation section and added some more section headings
Added primitive identifier highlighting to the tabular goal viewer
Made the goal viewer default to the tabular goal presenter

This commit also renames the goal presenter classes to better reflect their
roles
Added support to the goal viewer for focusing on particular identifiers

Focused identifiers will now be shown in red. There's no UI support yet for
selecting which identifiers to focus on, but that'll be added shortly
Added UI support for focused identifiers to the rich goal renderer

Selecting something in the context will now highlight all its instances in
the current goal
Added a new kind of Eclipse text-scanning rule

The new FuturisticWordRule class and its associated IFuturisticWordDetector
trait add support for words which have special requirements for trailing
characters
Converted the CoqWordDetector class into an IFuturisticWordDetector

This commit also updates the CoqTokenScanner class to use a
FuturisticWordRule, thereby restoring support for highlighting keywords
followed by a period
Made the goal viewer's highlighting code remove invalid trailing characters

CoqWordDetector should probably have a method that pulls all the words out
of a string; such a method would be useful in lots of places
Use CacheSlot wrappers to manage the Eclipse console handles

This commit also renames EclipseStuff.scala to EclipseConsole.scala, since
that's the only thing left in it
Added and updated some copyright headers

EclipseConsole.scala no longer contains any code written by Hannes or
David, so I've replaced the old copyright statements with my usual one
Added a simple finite state machine-based IRule implementation

This will (at last!) allow the JFace text infrastructure to detect
operators
Made CoqTokenScanner use the new BasicRule class to detect operators
Automatically indent code after the user types an assertion sentence

This is, er, experimental, which is secret code for "impossible to switch
off and incorrect in lots of circumstances". It's a start, though!
Exposed the internal state machine of the BasicRule class

This will make it possible to use BasicRule to detect exciting things like
blocks of whitespace