Fix RFE n_features minimum value #3812

In RFE class the step value was just rounded down. 

```
step = int(self.step * n_features)
```

This was a problem when the number of features was small because step was 0 and it was raising an exception.

```
ValueError: Step must be >0
```

With the following fix we still keep the rounding down (so as not to change behavior too much) but do a minimum with 1. **step = [1, n_features-1]**

Fixed issue https://github.com/scikit-learn/scikit-learn/issues/3812
Maybe there is a misunderstanding because of the name of the variable *_n_features_to_remove*. What I need to assert is not the total number of feature removed (@ogrisel proposed n_removed), is the number of features to remove **at each iteration**.

We can change