feat(Trainer): log epoch and final metrics
This PR adds new logging capabilities to `Trainer`:

* logs epoch -> this let us compare runs with different batch sizes, using "epoch" as the x-axis instead of "global_step"
* logs final metrics -> metrics are also logged by `Trainer.evaluate` at the end of the script (or at the start if we just use `--do_eval` and not train).

In below example, we see `epoch` has been used for x-axis and `eval_loss` has one extra point corresponding to the end of the script.
![image](https://user-images.githubusercontent.com/715491/81350982-d57e5600-9088-11ea-8ce6-400bda09bea7.png)
^^ I borked your PR unfortunately (💩). Sorry about that. Care to open a new one?

(same for #4211)<|||||>Sure, no worry!