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.

PEP257:  short description on the first line, then blank line, then more details.

```python
def test_roc_nonrepeating_thresholds():
    """Test to ensure that we don't return spurious repeating thresholds.

        Duplicated thresholds can happen due to machine precision issues.
        """
```