Improved performance of clustering by a bit. CandidatePair.java and
CandidateQueue.java will be used in the future to try and speed up clustering
some more.

added some hacks to be able to show progress in the gui window (in the form of
"XX.XX% Complete!"). This is hack-y because now the clustering method has
knowledge of the swing GUI which is something I wanted completely de-coupled.

Added some things to make OHClustering closer to working. Just need to add
appropriate tagging/labelling code, which will use OntologyLabel and Labelable.
This functionality was already added to Cluster and Isolate (by composition
for Clusters, by implementation with Isolate).

Modified the GUI to also have a dispensation length field to control how much
of the Pyroprint dispensations to use in calculations. Also added threshold
fields when clustering from CPLOP data.

ClusterInterface is an example of how to use the clustering without the GUI.
unfortunately because of the hack for outputting progress there may still need
to be some reference to a Swing component (specifically a canvas... or text
area?). Will have to see if this can be remedied.