Approximation Algorithms for Geometric Clustering and Touring Problems