Implement squito's suggestion to implement RDDPartitionFunctions as a trait, rather than as a helper class.  This required some small changes in the append() and prepend() method signatures (so you can now append or prepend objects belonging to a superclass of the basic RDD type) - there were compile issues otherwise with the mapPartitionsWithIndex and parallelize calls in those methods.  All-in-all, however, I think that's probably an improvement anyway.
Going through style comments one more time, annd making sure everything is clean and proper.