This commit accomplishes three goals:

 1) Further simplification of the IndexedRDD operations (eliminating some)
 2) Aggressive reuse of HashMaps
 3) Pipelining join operations within indexedrdd
Switching from Seq to IndexedSeq