[SPARK-2082] stratified sampling in PairRDDFunctions that guarantees exact sample size

Implemented stratified sampling that guarantees exact sample size using ScaRSR with two passes over the RDD for sampling without replacement and three passes for sampling with replacement.
So I was told that a rule of thumb is summarize what the function does in one line first and then dive into the details. I can add the explanation in a second paragraph (with a line skip) for elaboration on sampleByKey. For future reference, do you prefer a big chunk of text up front?