[versions] handle version requirement ranges
As discussed in https://github.com/huggingface/transformers/issues/11107 our `require_version` wasn't handling ranges like `"tokenizers>=0.10.1,<0.11"`. This PR fixes it.

I don't know if it fixes the problem reported in https://github.com/huggingface/transformers/issues/11107 as I can't reproduce it.

One odd thing though in `numpy`:
```
$ python -c "import numpy; print(numpy.__version__)"
1.19.2
$ python -c "from importlib.metadata import version; print(version('numpy'))"
1.18.5
$ pip uninstall numpy
Found existing installation: numpy 1.19.2
Uninstalling numpy-1.19.2:
  Would remove:
    /mnt/nvme1/anaconda3/envs/main-38/bin/f2py
    /mnt/nvme1/anaconda3/envs/main-38/bin/f2py3
    /mnt/nvme1/anaconda3/envs/main-38/bin/f2py3.8
    /mnt/nvme1/anaconda3/envs/main-38/lib/python3.8/site-packages/numpy-1.19.2.dist-info/*
    /mnt/nvme1/anaconda3/envs/main-38/lib/python3.8/site-packages/numpy/*
  Would not remove (might be manually added):
    /mnt/nvme1/anaconda3/envs/main-38/lib/python3.8/site-packages/numpy/core/tests/test_issue14735.py
    /mnt/nvme1/anaconda3/envs/main-38/lib/python3.8/site-packages/numpy/distutils/compat.py
    /mnt/nvme1/anaconda3/envs/main-38/lib/python3.8/site-packages/numpy/random/_bit_generator.cpython-38-x86_64-linux-gnu.so
    /mnt/nvme1/anaconda3/envs/main-38/lib/python3.8/site-packages/numpy/random/_bit_generator.pxd
Proceed (y/n)? y
  Successfully uninstalled numpy-1.19.2
$ python -c "from importlib.metadata import version; print(version('numpy'))"
1.18.5
$ python -c "import numpy; print(numpy.__version__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: module 'numpy' has no attribute '__version__'

$ pip install numpy -U
Requirement already satisfied: numpy in /mnt/nvme1/anaconda3/envs/main-38/lib/python3.8/site-packages (1.18.5)
Collecting numpy
  Downloading numpy-1.20.2-cp38-cp38-manylinux2010_x86_64.whl (15.4 MB)
     |████████████████████████████████| 15.4 MB 4.6 MB/s
Installing collected packages: numpy
  Attempting uninstall: numpy
    Found existing installation: numpy 1.18.5
    Uninstalling numpy-1.18.5:
      Successfully uninstalled numpy-1.18.5
$ python -c "import numpy; print(numpy.__version__)"
1.20.2
$  python -c "from importlib.metadata import version; print(version('numpy'))"
1.20.2
```

Perhaps it's just `numpy` and the extra files it leaves behind? I adjusted the test not to rely on `numpy.__version__` as it seems just invites failing tests. 

@sgugger, @LysandreJik 