(do not merge )Extend multimodal/speech_llm with lhotse, t5 and bestow supports
# What does this PR do ?

In multimodal/speech_llm, add lhotse dataloader support and two models, SALM-T5 and Bestow-GPT. Include example configs.


###  Main features under speech_llm
- Lhotse dataloader support for speech SFT in speech_llm
- SALM-style architecture with T5 LLM backbone
- Bestow-style architecture (cross-attention based) with GPT LLM backbone
### Minor edit in nlp collection: 
- megatron_base_model.py: handle the case tokenizer.type is not set
- megatron_lm_encoder_decoder_model.py: hanlde the case encoder_input is used 
- megatron_base_prompt_learning_model.py: group the llm init code under init_model function (follow the pattern from megatron_gpt_prompt_learning_model.py) so that it can be overwritten by subclass when needed
- megatron/utils.py: in gradient accumulation, handle the case where the batch size from dynamic bucketing is not divisible. This happens when using lhotse dataloader with batch_duration

**Collection**: [common,nlp,multimodal]


**PR Type**:
- [x] New Feature
- [ ] Bugfix
- [ ] Documentation
