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
Alright. Then don't make assertions for the effective per-iteration step size but rather just check that step is very close to 0 the selector still works (that is `selector.support_.sum() == n_features // 2`). That should be enough as a non regression test for #3812).