make reporter write out simple site lists

there was nothing wrong with brett's solution, but in the end it makes
basically no difference to the complexity of the parititoin definitions
that are output, and it makes post-processing those definitions to look
at plots much harder. So I canned it and now we have a simple solution.

Before:

p1 = 1, 4, 7-10, 12

After

p1 = 1, 4, 7, 8, 9, 10, 12
reinstated warning on pthreads

don't know why this was removed.
added --kmeans-opt commandline option

which will specify how the kmeans algo actually works
error checking for --kmeans-opt

only '1' works with --raxml (though this might change) in future.
better user output for starting tree
added kmeans_opt to config object

with some basic checking for compatibility with RAxML
pass kmeans_opt to config
error checking on --kmeans-opt

that it's between 1 and 4
pass cfg to get_likelihood_list() in phyml

NB RAxML will now fail, needs to be updated
implement kmeans_opt in phyml.get_likelihood_list()

so we now return different things depending on the user input.
made the small_warning a debug statement

rather than an info statement.
made reading alignment a debug not info statement
a few changes to kmeans algorithm

1. Changed best_score to best_result (since it's a result)
2. Same for new_score
3. Tidied up user output
4. Added scheme names that increment ('step' variable)
updated progress for kmeans

we now give different progress depending on the algorithm

this is because we can't know %done for kmeans
removed print statement
removed print statement
added temp. info statements to phyml.py
fixed get_likelihood_list in raxml.py
updated kmeans

fixed scheme names
better user output
removed print statements
changed progress.py to deal with kmeans better