added KNN classifier; reworked Classifier class to work with generic Data; renamed Traindata to Data