`NeMoModelCheckpoint.on_train_end()` saves the epoch info incorrectly
**Describe the bug**

`NeMoModelCheckpoint.on_train_end()` saves the epoch info incorrectly, which would break resuming training from the last checkpoint.

For example, when the maximum time limit is reached on a cluster, we would usually save checkpoints and launch another job to resume training. Assume that the break happens in epoch 0, ideally, the epoch info of the fit loop should be like the following:
```python
In [3]: ckpt['loops']['fit_loop']['epoch_progress']
Out[3]:
{'total': {'ready': 1, 'completed': 0, 'started': 1, 'processed': 0},
 'current': {'ready': 1, 'completed': 0, 'started': 1, 'processed': 0}}
```
Then in the second job, the PTL trainer knows this is a restarting job. 

However, `NeMoModelCheckpoint` save the `-last.ckpt` in `on_train_end()`, where the `completed` and `processed` counters have been increased. So the epoch info is

```python
In [4]: ckpt_last['loops']['fit_loop']['epoch_progress']
Out[4]:
{'total': {'ready': 1, 'completed': 1, 'started': 1, 'processed': 1},
 'current': {'ready': 1, 'completed': 1, 'started': 1, 'processed': 1}}
```

This bug would break resuming training from the last checkpoint in several cases:
1. When `trainer.max_epochs = 1`, PTL thinks the max epoch has been reached and then stops training immediately.
2. When `trainer.max_epochs > 1`, PTL can restart training but starts from epoch 1 instead of 0, and calculate the total number of batches incorrectly. The logs look like:
```
# at the end of the first job.
Epoch 0:  39%|███▉      | 411/1055 [3:43:23<5:50:01, 32.61s/it, loss=1.25, v_num=jxb0, reduced_train_loss=1.180, global_step=390.0, consumed_samples=49920.0, val_loss=1.140]
wandb: Waiting for W&B process to finish... (success).

# at the beginning of the second job.
Training: 391it [00:00, ?it/s]
Training:   0%|          | 0/645 [00:00<00:00, -18221920.71it/s]
Epoch 1:   0%|          | 0/645 [00:00<?, ?it/s]                
Epoch 1:  64%|██████▍   | 412/645 [00:36<00:20, 11.43it/s]
Epoch 1:  64%|██████▍   | 412/645 [00:36<00:20, 11.42it/s, loss=1.13, v_num=25nj, reduced_train_loss=1.130, global_step=391.0, consumed_samples=49920.0]
```
As we can see, it restarts training from Epoch 1, and the total number of batches decreases from 1055 to 645. Ideally, it should restart at Epoch 0, step 412/1055.

**Steps/Code to reproduce bug**

We run SFT using `examples/nlp/language_modeling/tuning/conf/megatron_gpt_sft.yaml`.

