[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.
We are setting q1 and q2 from outside, let's add more methods to this class for setting and getting values of q1 and q2. Let's use better names than ```updateq1()```. Even better would be if we rename q1 and q2 to more descriptive names (the comments you added help a lot by the way).