TFMarian, TFMbart, TFPegasus, TFBlenderbot
### Notes:
- add `TFSinusoidalPositionalEmbeddings`.
- Code structure identical to the corresponding pytorch code -- same classes, implementations differ only slightly.
- Integration tests and common tests, rst updates, for all 4 children. All 4 children run the same common tests as TFBart and at least 1 integration test.
- For pegasus, generations are not identical to PT because Linear layers are slightly different in tf/pt. For Marian, generations are identical.
- Loading will generate 0 warnings.

@patrickvonplaten 
+ I deleted the `_force_token_id` function, replaced with faster `tf.where` one-liner. (+ added regression test). 
+ Replaced unneeded `TFSharedEmbedding` with `tf.keras.layers.Embedding`
+ switched all `.shape` to `shape_list`

WDYT?