Add common getter and setter for input_embeddings & output_embeddings
Author: thomwolf
Pull request: yes

This PR adds two attributes `input_embeddings` and `output_embeddings` as common properties for all the models.

Simpler to write weights tying.

Also superseed #1598.

cc @rlouf

Comments:
Couldn't get `input_embeddings` and `output_embeddings` to work well as python properties with our class inheritance hierarchy for some reason.

Switching to simple `get_xxx` and `set_xxx` for now.

Maybe let's investigate that again in the future if needed.

# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/1721?src=pr&el=h1) Report
> Merging [#1721](https://codecov.io/gh/huggingface/transformers/pull/1721?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/8a62835577a2a93642546858b21372e43c1a1ff8?src=pr&el=desc) will **decrease** coverage by `1.18%`.
> The diff coverage is `99.17%`.

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

```diff
@@            Coverage Diff             @@
##           master    #1721      +/-   ##
==========================================
- Coverage   85.14%   83.95%   -1.19%     
==========================================
  Files          94       94              
  Lines       13920    13951      +31     
==========================================
- Hits        11852    11713     -139     
- Misses       2068     2238     +170
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/1721?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [transformers/tests/tokenization\_bert\_test.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL3Rlc3RzL3Rva2VuaXphdGlvbl9iZXJ0X3Rlc3QucHk=) | `89.47% <100%> (-9.2%)` | :arrow_down: |
| [transformers/tests/modeling\_common\_test.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL3Rlc3RzL21vZGVsaW5nX2NvbW1vbl90ZXN0LnB5) | `73.67% <100%> (-2.83%)` | :arrow_down: |
| [transformers/modeling\_gpt2.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL21vZGVsaW5nX2dwdDIucHk=) | `84.14% <100%> (-0.06%)` | :arrow_down: |
| [transformers/tests/tokenization\_roberta\_test.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL3Rlc3RzL3Rva2VuaXphdGlvbl9yb2JlcnRhX3Rlc3QucHk=) | `75.92% <100%> (-16.53%)` | :arrow_down: |
| [transformers/tests/tokenization\_xlm\_test.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL3Rlc3RzL3Rva2VuaXphdGlvbl94bG1fdGVzdC5weQ==) | `82.22% <100%> (-15.51%)` | :arrow_down: |
| [transformers/tests/tokenization\_distilbert\_test.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL3Rlc3RzL3Rva2VuaXphdGlvbl9kaXN0aWxiZXJ0X3Rlc3QucHk=) | `63.63% <100%> (-31.61%)` | :arrow_down: |
| [transformers/modeling\_roberta.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL21vZGVsaW5nX3JvYmVydGEucHk=) | `71.08% <100%> (+0.53%)` | :arrow_up: |
| [transformers/modeling\_transfo\_xl.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL21vZGVsaW5nX3RyYW5zZm9feGwucHk=) | `75.43% <100%> (+0.27%)` | :arrow_up: |
| [transformers/tests/modeling\_auto\_test.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL3Rlc3RzL21vZGVsaW5nX2F1dG9fdGVzdC5weQ==) | `33.89% <100%> (-64.41%)` | :arrow_down: |
| [transformers/modeling\_xlm.py](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree#diff-dHJhbnNmb3JtZXJzL21vZGVsaW5nX3hsbS5weQ==) | `88.42% <100%> (ø)` | :arrow_up: |
| ... and [26 more](https://codecov.io/gh/huggingface/transformers/pull/1721/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/1721?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/1721?src=pr&el=footer). Last update [8a62835...b340a91](https://codecov.io/gh/huggingface/transformers/pull/1721?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


This looks very clean, it looks good to me!

Thanks @LysandreJik