Aligning Large Language Models with Diverse Political Viewpoints