LLM-Powered Code Vulnerability Repair with Reinforcement Learning and Semantic Reward