k-means bug len() of map object

In python3, map evaluates to a map object instead of a list and you cant do len() on them.

This causes line 138 in kmeans.py to fail since self._means is a map object
```python
for index in range(len(self._means)):
```

I changed the definition of self._means to a list comprehension in line 124

```python
# recalculate cluster means by computing the centroid of each cluster
new_means = [self._centroid(cluster,mean) for cluster,mean in zip(clusters, self._means)]
...
self._means = new_means
```