[MRG] 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.
Ok, I see it is not that simple. Maybe two lines comment explaining the behavior? I feel it is not super obvious. The length of of ``n_features_to_select_by_rank`` is always ``X.shape[1] // step + 1``, though, right?