Adding neural rescorer and its documentations
This pull request **introduces 1 alert** when merging 3f1390819c64cd3be2bee2a150775db6fab8ef99 into 43add2a37812a4786e6229322f7cf30ac2103313 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-772b7f88024564503202282a9d0d11fb42a5b969)

**new alerts:**

* 1 for NotImplemented is not an Exception what is the `eval_manifest.json` file supposed to contain?
I want to rescore sentences with a gpt2 language model, any guide?
This PR would add a script to evaluate a neural language model (Transformer) trained with
`examples/nlp/language_modeling/transformer_lm.py' as a rescorer for ASR systems.
Given a trained TransformerLMModel `.nemo` file, this script can be used to re-score the beams obtained from a beam
search decoder of an ASR model.

USAGE:
1. Obtain `.tsv` file with beams and their corresponding scores. Scores can be from a regular beam search decoder or
   in fusion with an N-gram LM scores. For a given beam size `beam_size` and a number of examples
   for evaluation `num_eval_examples`, it should contain (`num_eval_examples` x `beam_size`) lines of
   form `beam_candidate_text \t score`. This file can be generated by `scripts/asr_language_modeling/ngram_lm/eval_beamsearch_ngram.py`.
   
2. Rescore the candidates:
    python eval_neural_rescorer.py
        --lm_model=[path to .nemo file of the LM]
        --beams_file=[path to beams .tsv file]
        --beam_size=[size of the beams]
        --eval_manifest=[path to eval manifest .json file]
        --batch_size=[batch size used for inference on the LM model]
        --alpha=[the value for the parameter rescorer_alpha]
        --beta=[the value for the parameter rescorer_beta]
       --scores_output_file=[the optional path to store the rescored candidates]

You may find more info on how to use this script at:
https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/main/asr/asr_language_modeling.html
