Make multiple choice models work with input_embeds
Currently, all the multiple choice models will fail if we pass them `inputs_embeds` instead of `input_ids`. This PR fixes that on the pytorch side and adapts the corresponding test for common models.
# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/4921?src=pr&el=h1) Report
> Merging [#4921](https://codecov.io/gh/huggingface/transformers/pull/4921?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/466aa57a45bfb9fc47d4b75d22c02c34b4b4b0fc&el=desc) will **increase** coverage by `0.07%`.
> The diff coverage is `100.00%`.

[![Impacted file tree graph](https://codecov.io/gh/huggingface/transformers/pull/4921/graphs/tree.svg?width=650&height=150&src=pr&token=9qOlN6Hb1c)](https://codecov.io/gh/huggingface/transformers/pull/4921?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #4921      +/-   ##
==========================================
+ Coverage   77.06%   77.13%   +0.07%     
==========================================
  Files         128      128              
  Lines       21649    21653       +4     
==========================================
+ Hits        16683    16702      +19     
+ Misses       4966     4951      -15     
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/4921?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/modeling\_bert.py](https://codecov.io/gh/huggingface/transformers/pull/4921/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19iZXJ0LnB5) | `88.31% <100.00%> (+0.02%)` | :arrow_up: |
| [src/transformers/modeling\_longformer.py](https://codecov.io/gh/huggingface/transformers/pull/4921/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19sb25nZm9ybWVyLnB5) | `93.02% <100.00%> (+0.01%)` | :arrow_up: |
| [src/transformers/modeling\_roberta.py](https://codecov.io/gh/huggingface/transformers/pull/4921/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19yb2JlcnRhLnB5) | `94.78% <100.00%> (+0.02%)` | :arrow_up: |
| [src/transformers/modeling\_xlnet.py](https://codecov.io/gh/huggingface/transformers/pull/4921/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ194bG5ldC5weQ==) | `78.65% <100.00%> (+2.33%)` | :arrow_up: |
| [src/transformers/modeling\_tf\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/4921/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl91dGlscy5weQ==) | `87.42% <0.00%> (+0.15%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/4921?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/huggingface/transformers/pull/4921?src=pr&el=footer). Last update [466aa57...edd1ede](https://codecov.io/gh/huggingface/transformers/pull/4921?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
