DiffNets: Self-supervised deep learning to identify the mechanistic basis for biochemical differences between protein variants