port of lucene-solr/lucene/classification w/o tests
fixes based on feedback (rename classes, fix indents, remove 'this.')
Bring Query.Equals() to be back in par with the Java impl