[MRG+1] FIX: Bug in RFECV when step is not 1

Hi!

This patch fixes the bug with computation of the final `n_features_to_select` when `step` is not equal to 1. Everything should be clear from the code.

Please review.
`ranking_` has shape of `(n_features_,)` and it always contains the same set of values, but they might be reordered for different CV folds. For example:

```
[4 3 1 2 6 6 4 3 5 5]
[3 3 2 1 6 5 4 4 6 5]
```
We measure the dependency of test score against the number of features by averaging over different folds. This approach is not perfect (because feature rankings might depend on fold), but it's reasonable and I don't see other way.

Could you explain further what you meant by "some CV folds might be smaller than others and therefore the max(ranking_) might not always have the same value across CV iterations." This statement seems wrong if I understood it correctly, `max(ranking_)` is always the same, as it depends only on number of features and step if `RFE`.