Add simple groupby

Add a helper method to make a distributed dataframe from a local dataframe (this results in types being reguessed so it is less than ideal), add back in a run-tests script that can yell if SPARK_HOME isn't set (whereas directly using nose just resulted in no output). Add inital code coverage, although we might want to disable it since it only reports on things which run locally and most of our stuff runs remotetly. Remove some dead code from utils. Also update unittest library to unittest2.

re-created this PR because I accidentally merged the other one. oops :p

@jhlch let me know what you think (I'm especially not sure about the names I chose for the different RDDs inside of the groupby)
So PRDDs aren't iterable without bringing it back to the local machine, so this just brings it back to the local machine. We don't have explicit tests around this part, but its covered in _compare_groupby_results (we get the __iter__ from both the local groupby and the distributed one).