parse_dataset_as_name returns an empty string if a manifest is named "manifest.json"
**Describe the bug**

When instantiating a new model, in `nemo.utils.model_utils.parse_dataset_as_name`, if the name of the manifest passed is `manifest.json`, then eventually the manifest name will be empty and an index error will occur during this check:

```py
if '_' != name[-1]:
    name = name + '_'
```

**Steps/Code to reproduce bug**

Run any ASR example/tutorial with a cfg value `model.(train/val)_ds.manifest_filepath = "/path/to/manifest.json"`

```py
from omegaconf import OmegaConf
import pytorch_lightning as pl
from nemo.collections.asr.models import EncDecCTCModelBPE

cfg = OmegaConf.load("/path/to/cfg.yaml")
trainer = pl.Trainer(**cfg.trainer)
asr_model = EncDecCTCModelBPE(cfg=cfg.model, trainer=trainer)
```

**Expected behavior**

I should be able to create a model with train/val_ds whose manifest file name is `manifest.json`

**Environment overview (please complete the following information)**

 - Environment location: Docker
 - Method of NeMo install: `pip install nemo_tookit[all]==1.7.0`
 - If method of install is [Docker], provide `docker pull` & `docker run` commands used
 Docker image: `nvcr.io/nvidia/pytorch:22.02-py3`

I can of course change the name of my manifest file, but I don't think this is valid assumption that we will not be naming our files `manifest.json` and not sure why this parsing is necessary.
Simple resolution is to just make sure the `name` string never becomes empty and early return if it will.
If it does, maybe use the parent directory name as the dataset name?
If this is necessary, can make the change on my end, but at least provide a different error informing the user to change their manifest name.