[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.
Here again, `ranking_` is assigned in the CV loop. We should instead measure `min([max(ranking_) for ranking_ computed in CV])` (if you see what I mean) as some CV folds might be smaller than others and therefore the `max(ranking_)` might not always have the same value across CV iterations.