Fix P-Tuning Truncation
Signed-off-by: Virginia Adams <vadams@nvidia.com>

Dataset sample truncation sometimes errors in NeMo. This is because the text segments from a users dataset can have different tokenization depending on the prompt template text that is present around that text segment. This makes it difficult to find the truncated field's subsequence of token ids and thus truncate just that portion of the training example. This PR is a different approach to truncation where we: 

1. After getting the truncated field's text id's, I convert these token ids back into a string using the tokenizer
2. re-build the prompt using this truncated text string instead of the full text string
3. re-tokenize the entire input at the same time.

**Collection**: NLP

# Changelog 
- GPT Prompt Learning Dataset Class 

# Usage
 Same as before

# Before your PR is "Ready for review"
**Pre checks**:
- [x] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md)
- [ ] Did you write any new necessary tests?
- [ ] Did you add or update any necessary documentation?
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
  - [ ] Reviewer: Does the PR have correct import guards for all optional libraries?
  
**PR Type**:
- [ ] New Feature
- [x] Bugfix
- [ ] Documentation

If you haven't finished some of the above items you can still open "Draft" PR.


## Who can review?

Anyone in the community is free to review the PR once the checks have passed. 
[Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md) contains specific people who can review PRs to various areas.

# Additional Information
* Related to https://nvidia.slack.com/archives/C02A7LYGHK8/p1670592730656789 and https://nvidia.slack.com/archives/C03AQCUKQ5T/p1671029551818229
