Implement train method in KNN.
Currently, training of a knn is wrapped around the addNeighbour function.
- Implement "train" for real
- Implement some kind of clear function
Should train clear first, then add? Or just add? How to present these two modes in the API?