The Proximal Point Algorithm Revisited