[WIP] Pyspark

Do not merge.

This is a copy of TJ's PR.  I just want something that I control that travis.ci inspects.