[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.
This variable is `n_features_to_select_by_rank[k]` is overwritten `len(cv)` times when doing the iterations over CV folds and only the value of `n_features_to_select_by_rank[k]` for the last iteration is kept. I think `n_features_to_select_by_rank` should rather be initialized to `np.zeros(X.shape[1], len(cv))` and then the median value over CV iterations for the best rank should be kept as argument for the final call to `RFE.fit`.