[SPARK-4398][PySpark] specialize sc.parallelize(xrange)

`sc.parallelize(range(1 << 20), 1).count()` may take 15 seconds to finish and the rdd object stores the entire list, making task size very large. This PR adds a specialized version for xrange.

@JoshRosen @davies
Yes, but the `size + 1` is tricky, how about this one:

```
start = c[0]
def getStart(split):
      return start + size * split / numSlices * step
def f(split, iterator):
      return xrange(getStart(split), getStart(split+1), step)
```