ControlLM: Crafting Diverse Personalities for Language Models