Contention-Aware Scheduling Policies for Fairness and Throughput