Major refactoring, based on discussion with Costa

1. BinaryClassifier.evaluate and BinaryClassifier.leave_one_out return
   instances of a class ConfusionMatrix with all possible binary
   classification metrix defined as instance variables.
2. AUC is now a static method with a different argument structure
3. Threshold now has more readable code and uses a sort of
   maximum-margin principle to select the best threshold

compatibility fixes

renamed

compatibility fixes

compatibility fixes