mllib.crossvalidation: add random sampling CV and k-fold CV

continuing from https://github.com/mesos/spark/pull/845

@shivaram asked @mateiz whether the k-way disjoint split operation should be a top-level RDD operation.