[T5] allow config.decoder_layers to control decoder size
Author: sshleifer
Pull request: yes

<!-- This line specifies which issue to close after the pull request is merged. -->
#### Problem
arxiv.org/abs/2006.10369, among others, shows that models with fewer decoder layers than encoder layers can perform well and run generation much faster. Right now it is difficult to do distillation on t5 because there is only `T5Config.num_layers` which controls encoder layers and decoder layers.

#### Solution

- add `config.decoder_layers` to control decoder num layers
- maintain 100% backwards compatibility by defaulting `config.decoder_layers = num_layers`
- add tests
- 4 line PR besides tests+ docs :)


### Testing
- slow t5 tests pass

Comments:
# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/7409?src=pr&el=h1) Report
> Merging [#7409](https://codecov.io/gh/huggingface/transformers/pull/7409?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/2c8ecdf8a87019c438262d8c692e1bdffe05149f?el=desc) will **decrease** coverage by `0.73%`.
> The diff coverage is `98.05%`.

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

```diff
@@            Coverage Diff             @@
##           master    #7409      +/-   ##
==========================================
- Coverage   77.58%   76.85%   -0.74%     
==========================================
  Files         181      181              
  Lines       35725    35784      +59     
==========================================
- Hits        27719    27501     -218     
- Misses       8006     8283     +277     
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/7409?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/modeling\_longformer.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19sb25nZm9ybWVyLnB5) | `74.14% <81.81%> (ø)` | |
| [src/transformers/configuration\_longformer.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb25maWd1cmF0aW9uX2xvbmdmb3JtZXIucHk=) | `100.00% <100.00%> (ø)` | |
| [src/transformers/configuration\_t5.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb25maWd1cmF0aW9uX3Q1LnB5) | `96.55% <100.00%> (+0.12%)` | :arrow_up: |
| [src/transformers/configuration\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb25maWd1cmF0aW9uX3V0aWxzLnB5) | `97.35% <100.00%> (+0.68%)` | :arrow_up: |
| [src/transformers/modeling\_albert.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19hbGJlcnQucHk=) | `84.33% <100.00%> (+0.17%)` | :arrow_up: |
| [src/transformers/modeling\_bert.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19iZXJ0LnB5) | `88.48% <100.00%> (+0.11%)` | :arrow_up: |
| [src/transformers/modeling\_mobilebert.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19tb2JpbGViZXJ0LnB5) | `89.43% <100.00%> (+0.04%)` | :arrow_up: |
| [src/transformers/modeling\_roberta.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19yb2JlcnRhLnB5) | `96.62% <100.00%> (+0.06%)` | :arrow_up: |
| [src/transformers/modeling\_t5.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190NS5weQ==) | `82.83% <100.00%> (+0.06%)` | :arrow_up: |
| [src/transformers/modeling\_tf\_albert.py](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl9hbGJlcnQucHk=) | `97.35% <100.00%> (+0.01%)` | :arrow_up: |
| ... and [25 more](https://codecov.io/gh/huggingface/transformers/pull/7409/diff?src=pr&el=tree-more) | |

------

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


Renamed it to `num_decoder_layers`, and fixed docstring!