Explainable Melanoma Diagnosis with Contrastive Learning and LLM-based Report Generation