Classification tests

High level summary of changes:

- ported another class in Classification which I had forgotten: Utils/DatasetSplitter
- ported all the tests in Classification, 9 total: 7 pass, 1 fails, 1 ignore
- failing test appears to fail for random reasons, something that I see in the other tests in core, will need to be addressed separately. The issue of the resources not getting cleaned up properly somewhere in core because if I run tests one by one they pass.
- 1 ignored test in SimpleNaiveBayesClassifierTest called TestNGramUsage. Depends on EdgeNGramTokenFilter and other classes that are present in Lucene.Net.Analysis.Common but do not appear to be fully ported or ready to be integrated.
- fixed a bug in the previously ported KNearestNeighborClassifier that the tests uncovered