Auditing and Achieving Counterfactual Fairness