Nonsmooth Optimization Techniques on Riemannian Manifolds