Fixed trainer total_flos relaoding in distributed mode
# What does this PR do?

There was a bug on the `total_flos` quantity when loading/reloading trainer states in distributed mode: when reloading a training, every process started from the total amount of floating-point operations. The next time they were aggregated, this caused the sum of the operations of all processes to be inflated. This PR fixes this behaviour by only storing a `current_flos` variable per process that comes back to zero every time it is logged, and keeping the total amount separate in the trainer state.

# Who to tag?

@sgugger 