Clustering algorithm now always returns the requested amount of clusters, even if empty.
Cleaned up unit tests, added 2 tests for util.