Bunch of changes -- most notably, make the cross-validation function take a
classifier as an argument so we can more pluggably try lots of different
classifiers. Also make sure we use the CV parts of scikit-learn correctly and
don't train on the test data!!