Refactor: hpc_load and entangled logics in CheckpointConnector
🚀 Feature
Refactor CheckpointConnector by reducing duplicated parts and separating different functionality.
Motivation
CheckpointConnector can be refactored.
hpc_load
Almost all hpc_load code is duplicated with restore (normal restore).
Entangled logics
top-level method restore_weights have several functionality/responsibility.

prevent OOM (CUDA cache clear)
apply checkpoint to state
control parallel environment (barrier)

Different responsibility should be in different function.
Pitch

hpc_load: delete by using restore
restore_weights

the name do not reflect responsibility -> change to attempt_to_restore
multiple responsibility -> separate "applying checkpoint" parts as attempt_to_apply_checkpoint



cc @Borda @justusschock @awaelchli @akihironitta @rohitgr7 @ananthsub @ninginthecloud