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)
If we access elements in self Spark will pickle the entire object, so instead we make a local copy. Its a bit ugly but the performance difference is huge.