[Bart/Memory] Two separate, smaller decoder attention masks
### Background

The bart decoder requires two masks: one to ignore padding tokens, the other (`causal_mask`), to avoid attending to future tokens during training.
Previously, `_prepare_bart_decoder_inputs` combined these two masks into one  float_mask of shape `(bsz, 1, tgt_len, tgt_len)` filled with -inf for tokens that should be ignored. This mask was subsequently added to the attention activations.

Now, we return the two masks separately:
`decoder_padding_mask`: shape `(bs, tgt_len)`, `bool`
`causal_mask`: shape `(tgt_len, tgt_len)`, `float`

### Impact
saves 800 MB for bs=6, tgt_len=1024, with negligible speed impact.

### Notes
- The distinct data types (bool and float) are used to minimize code change. 
# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/3371?src=pr&el=h1) Report
> Merging [#3371](https://codecov.io/gh/huggingface/transformers/pull/3371?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/cf72479bf11bf7fbc499a518896dfd3cafdd0b21&el=desc) will **decrease** coverage by `0.02%`.
> The diff coverage is `93.75%`.

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

```diff
@@            Coverage Diff             @@
##           master    #3371      +/-   ##
==========================================
- Coverage   77.55%   77.52%   -0.03%     
==========================================
  Files         100      100              
  Lines       16970    16957      -13     
==========================================
- Hits        13161    13146      -15     
- Misses       3809     3811       +2     
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/3371?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/modeling\_bart.py](https://codecov.io/gh/huggingface/transformers/pull/3371/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19iYXJ0LnB5) | `97.59% <93.75%> (-0.50%)` | :arrow_down: |

------

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