Class-Disentanglement and Applications in Adversarial Detection and Defense