Fix torch version comparisons (helps with +cu*** or +cpu official builds)
Comparisons like `version.parse(torch.__version__) > version.parse("1.6")`
are `True` for `torch==1.6.0+cu101` or `torch==1.6.0+cpu` (which is not intended, I suppose).

So `version.parse(version.parse(torch.__version__).base_version)` comparisons are preferred (and used in pytorch_utils.py but not in other places).

# What does this PR do?

* Updated all comparisons to failsafe (when used in copypasting inspiration) `version.parse(version.parse(torch.__version__).base_version)`
* added some often used patterns to `pytorch_utils.py`

Did not check if original version checks were eligible. Believe original authors just missed this version check caveat.
Only torch version check changed (not sure if other packages may be affected).

## Before submitting
- [x] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#start-contributing-pull-requests),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [ ] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?


## Who can review?

As it is touching many parts of code: @patrickvonplaten, @LysandreJik, @sgugger

_The documentation is not available anymore as the PR was closed or merged._<|||||>Wow very cool @LSinev !