[examples/s2s] clean up finetune_trainer
This PR 
1. moves the `build_compute_metrics_fn` to `utils.py` because we need to be able to import it for `hparam` search with `Seq2SeqTrainer`. Could have made it top level but since rest of the helpers are in `utils.py`, moved it there.
2. Also moves the `Seq2SeqDataCollator` to `utils` as the dataset is also there.

@sshleifer 

Also 
https://github.com/huggingface/transformers/blob/a42f62d34f7b2acdb7298e586adbe9f0f28864ea/examples/seq2seq/seq2seq_trainer.py#L56

we are using `model.config` here, this breaks on multi-gpu, right ?
and IMO we might not need this `assert` here <|||||>```
self.pad_token_id = self.model.config.pad_token_id
```
This will also break.
Maybe we could just stuff the config or (`pad_token_id`) on `data_args`?



<|||||>I may start `metrics.py` and move rouge/bleu funcs and their helpers in there as well. <|||||>> ```
> self.pad_token_id = self.model.config.pad_token_id
> ```
> 
> This will also break.
> Maybe we could just stuff the config or (`pad_token_id`) on `data_args`?

we could pass `config` directly to `init`<|||||>works for me! <3 config