a few fixes for the new prompt template based dataloader and lora+distributed fused adam
1. tokenize_with_prompt (from Piotr)
2. keep the previous behavior of truncating input_ids when the length is larger than max_seq_length
3. add gemma support
4. make the prompt template compatible with our data which has `context`, `question`, or `default_context` in the manifest
5. support distributed fused adam on lora
6. fix lora ckpt loading and storing issue in naming

verified speechllm-develop can train with `/lustre/fs8/portfolios/llmservice/users/zhehuaic/works/mod_speech_llm/scripts/oci_canary_gpt_gemma_prompt_lorac_lhmerge6_p2h_d5.sh`
