Enhancing Semantic Code Search with Multimodal Contrastive Learning and Soft Data Augmentation