Probabilistic Couplings For Probabilistic Reasoning