[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.
`n_features_to_select_by_rank[k]` is being overwritten multiple times by the same value. Probably not the best design, but adding conditions doesn't seem to be better.

For the details see my reply below.