RandomRDDGenerator: initial design

Looking for feedback on design decisions. Very rough draft and untested. Please ignore style issues. I would like suggestions on better naming though.

RandomVectorRDD would be very similar to RandomRDD, but emit an Iterator of Vectors instead.
I tend to agree with @falaki but neither is perfect. The current user code looks like the following:

~~~
val gen = new RandomRDDGenerators(sc)
val rdd1 = gen.normalRDD(n, p, seed)
val rdd2 = gen.normalVectorRDD(m, n, p, seed)
~~~

or we can change it to

~~~
val gen = RandomRDDGenerator.get(sc)
val rdd1 = gen.normalRDD(n, p, seed)
val rdd2 = gen.normalVectorRDD(m, n, p, seed)
~~~


If we switch to factory, it looks slightly cleaner to me:

~~~
val rdd1 = RandomRDDs.normal(sc, n, p, seed)
val rdd2 = RandomRDDs.normal(sc, (m, n), p, seed)
~~~

I used `(m, n)` here to avoid type signature collision.