Adds Instances and Attributes type

* Refactors KNNClassifier to use them
* csv handling moved back into base due to a circular dependency
* Also adds the datasets used to test CSV handling
Merge pull request #27 from Sentimentron/instances

Adds Attributes and Instances