COMAL: A Convergent Meta Algorithm for Aligning LLMs with General Preferences