The Proximal Distance Algorithm