quicker clustering
massive efficiency improvements in neighbour.py

ditched inefficient routines from cluster.py, which we no longer need.
Now use itertools, and also massively reduce the number of euclidean
distances we have to calculate. A lot of code can be deleted from here
once the tests are done.
removed all_distances dictionary

turned out it made things slower, not quicker. Probably a result of
having to repeatedly look stuff up in an ever-larger dictionary.
simplified greediest algorithm stopping conditions

removed major improvements.
the % stopping condition now cannot be exceeded
set default greediest_percent to 100

makes more sense for now. Before release we should set this dynamically
to, I guess, 1% or whatever % 1000 schemes is (of the first step),
whichever is larger. This should be based on the results of the
analysis of the 20 datasets though...
cleaned up information output in greediest algorithm
removed unused code from neighbour.py

the re-coding means that most of the original code wasn't used. It's
more efficient this way.
removed cluster.py

we don't use it any more. It was too slow. Helpful during development
though, and good to know that my clustering code gives exactly the same
results, , just a lot faster.
changed license to reflect that we no longer use the python-cluster library
Fixed long line '\' breaks in pyparsing

This issue was identified by Johan Nylander - it seems to stop PF
working on Xubuntu. Better just to get rid of all of the '\' line
continuations, and have some long lines in pyparsing. Not sure why this
was limited to Xubuntu - PF works fine on some other linux systems.
Hmmm.
remove unnecessary imports
streamlining of greediest algorithm

now there's only one implemented stopping condition - percent. So, you
just pass the --greediest_percent argument at the commandline. The
clustering paper will allow us to set sensible defaults for this, but
in the absence of any other information I think 10% is a good starting
point. For massive massive datasets it will have to be set lower, as
pragmatism demands!
fixed a bug in neighbour.py

this bug meant that PF failed during clustering when >2 subsets were
equally distant. Identified during routine testing, and now fixed.
More work on the manual

NB. It doesn't gel with the actual program, yet. One thing at a time.
Also, I will need to update this again before the final release, to
reflect whatever we do with the default settings for the new algorithm.
quicker config checking in config.py

I was running a check on all the subset files. Unnecessary. Can just do
it the EAFP way...
fixed a bug in the greediest algorithm

that only showed up when the best scheme was the start scheme.
Merge branch 'clustering3' into fix-tests

Conflicts:
	partfinder/__init__.py
	partfinder/alignment.py
	partfinder/analysis.py
	partfinder/analysis_method.py
	partfinder/config.py
	partfinder/parser.py
	partfinder/scheme.py
	partfinder/subset.py
	partfinder/util.py