added check for subsets of 1 bp

* if the subset that you are trying to split is 1 bp, kmeans will choke
(you are trying to split 1 site into 2 cluster, which is not possible),
this will move it along to the next site.
added analysis_error variable to run_task for bad subsets

* if a subset is unanalyzable, we will set this to a specific error
that is raised.
changed search and models