Nonrepeating ROC thresholds

Added a unit test to ensure that there are no spurious repeating values in the thresholds returned by roc_curve because of machine precision, and a quick stab at a fix.

Without the fix, the thresholds array produced in the unit test starts with the values [1, 0.99, 0.98, 0.98, ...]. There should be only one 0.98. The undesirable behavior stems from machine epsilon differences between predicted probabilities that are mathematically equivalent.

I am not sure that my suggested fix is the best approach, so I welcome comments.

Actually the problem might still happen for scores that are not in the 0, 1 range, for instance regression scores with RMSE can be orders of magnitude outside that range.

I don't really know how to best tackle that issue in general.