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
This was the first approach, just to change the step (1 line). But later preparing the tests you can't assert the number of features to remove because you can't get this value.

https://github.com/borjaayerdi/scikit-learn/blob/rfe_n_features_to_remove/sklearn/feature_selection/tests/test_rfe.py#L116