CARROT-1006: Bisecting k-means usually creates fewer clusters than requested

Fixing a bug in the code that selects the next cluster to split. Previously, only the largest cluster would be split, if the split failed, second largest cluster would not be submitted for splitting.

Updated initialization of centroids. Now the initial centroids are calculated based on all input documents, which should increase the chances of creating non-trivial cluster splits.