Distributed barrier before loading model
# What does this PR do?

This PR adds a distributed barrier before the final load when the option `load_best_model_at_end` is selected. This is because a process might get to that point before process 0 has finished saving the checkpoint that is re-loaded, which would result in an error.

Fixes #10666