[examples/translation] support mBART-50 and M2M100 fine-tuning
# What does this PR do?

the `run_translation.py` does not support fine-tuning mBART-50 and M2M100 as we need to set `src_lang` and `tgt_lang` attributes, but the script only checks for `MBartTokenizer`, this PR

- adds the `MULTILINGUAL_TOKENIZERS` list where we can add all tokenizers which require setting `src_lang` and `target_lang` attributes, this avoids having multiple if/else statements (Thanks Sylvain!)
- adds the `--forced_bos_token` argument which is used to set the `config.forced_bos_token_id` attribute which is required for mBART-50 and M2M100 during generation to be able to force the target language token as the first generated token. We could use the `--target_language` argument to set this, but this attribute shouldn't be set auto-magically as generations change completely depending upon the forced id, so IMO it's better to ask the user to explicitly provide it.


@patil-suraj , can you please help in suggesting how to finetune m2m100 on more than one-pair.I am able to finetune for one lang pair using below script:

CUDA_VISIBLE_DEVICES=0,1,2,3,6 python -m torch.distributed.run --nproc_per_node=5 run_translation.py --model_name_or_path=m2m100_418M_new_token --do_train --do_eval --source_lang ja --target_lang en --fp16=True --evaluation_strategy epoch --output_dir bigfrall --per_device_train_batch_size=48 --per_device_eval_batch_size=48 --overwrite_output_dir --forced_bos_token "en" --train_file orig_manga/orig/train_exp_frame_50k.json --validation_file orig_manga/orig/valid_exp_frame_50k.json --tokenizer_name tokenizer_new_token  --num_train_epochs 50 --save_total_limit=5 --save_strategy=epoch --load_best_model_at_end=True --predict_with_generate

But, now I want to finetune it on ja-en and ja-zh pairs. How to pass these both languages?<|||||>Hi @nikhiljaiswal !
It would be nice if you ask this question on the [forum ](https://discuss.huggingface.co/). PR comments won't be a good place to discuss this. Thanks!