Assert evaluation_strategy not no when load_best_model_at_end
# What does this PR do?

Since using `--load_best_model_at_end` overrides the `save_strategy` by the `evaluation_strategy`, this PR adds a defensive check to make sure that strategy is not "no" (otherwise nothing is ever saved).

Fixes #12685 
> I see that practically:
>
> load_best_model_at_end cancels out save_strategy=steps.
> load_best_model_at_end has no impact on save_strategy=epoch.

That is not completely correct. One should also add that if `evaluation_strategy=steps`, a save is done every `eval_steps` and if `evaluation_strategy=epoch`, a save is done every epoch. Basically the model need to be saved every time there is an evaluation, to keep track of the best checkpoint.

To be honest, it makes absolutely no sense to use `--load_best_model_at_end` if the `evaluation_strategy` and `save_strategy` are not the same (and in the case of steps, with the same number of steps) so perhaps this is what the assert should be. The current implementation tries to avoid having the user input the same thing twice, but maybe it is too confusing.<|||||>That works too.

My initial suggestion was to only flag to the user the silent override of `save_steps`, but if we can do better, then by all means let's do that!<|||||>Superseded by #12786 