Fairmandering: A column generation heuristic for fairness-optimized political districting