Add k-medoids implementation and silhouettes

This pull request implements the k-medoids algorithm and adds the `silhouettes` function. New functionality is documented in the README.