reintroduced print statements to cluster.py to allow for debugging
added neighbour.py to find neighbouring schemes

this is very crudely written, but it works. It takes a scheme, and
returns the scheme which has the two most similar subsets clustered.
The useful method is get_nearest_neighbour_scheme, we pass in a scheme,
the name for the new scheme, a cfg object, and some weights. The
weights allow us to put different importance on different parameters,
e.g.

weights = {"rate": 1, "freqs": 2, "model": 10}

This will require some (a lot?) empirical testing, but the main thing
will be to set sensible defaults, then add a commandline option to
change them if the user wants.
changed clustering algorithm to use my new approach
removed get_clustering from schemes

this is now all dealt with in neighbour.py, it made more sense to hive
it off. Plus, my clustering approach was very clunky, AND very
inefficient. The new one is a LOT quicker.
changed param_values to a dict keyed by: "rate", "freqs", "model"

NB right now "freqs" and "model" are dummy variables

we need to parse them out of the raxml files. When this is done, we
need to change this section.
changed analysis_method because clustering weights are now in the cfg
new option --clustering_weights, e.g. --clustering_weights '1, 5, 3'

This allows users (primarily developers) to supply a list of weights
for clustering analyses. The order is: subset rate, base/aminoacid
frequencies, model parameters.

e.g.: --clustering_weights '1, 5, 4'
specifies that we want to do clustering by weighting the frequencies 5x
more than the rates, and the model parameters 4x more than the rates.
Integers or floats will work here.
edits to neighbour.py, because clustering weights are now in cfg
edit to screen output, nicer description of models
generalised neighbour finding so that we now allow for >2 neighbours

this will probably never happen with real data, but just in case.

One way to make it happen is to set all weights to be zero. In that
case we get a distance matrix which tells us that all subsets are
equally related.
updated all licenses
updated version to 1.1.0
getting ready for evoldir

this is largely procrastination. I haven't written the paper yet (or
done the analyses)...
remove conflicts
Change Raxml parsing and add tests
Add test raxml output files
Revert "remove conflicts"

This reverts commit 3a5fac1ed7090c6c9d1d6c90dba1b432b34a11c5.
Updated the manual

Now includes description of all the RAxML options, and the clustering
algorithm.
tiny typo fixed
edits to subset.py to incorporate Brett's parsing additions

Subsets now have a working method get_param_values() which returns a
dict of three lists: site_rate, frequencies, model_parameters. This is
used for clustering.