1.2.0 release preparation

This PR involves a lot of additional cleanups and old code removal. Once this is merged, 1.2.0 is ready for tagging.