Align and Adapt: A Two-stage Adaptation Framework for Unsupervised Domain Adaptation