Simplify Grouped/CoGrouped/CoGroupable types
Fix for regression introduced in last commit
Encode the grouping rules in the types
Avi's observation that HashJoinable <: CoGroupable
minor cleanup of KeyedPipe
Move HashJoinable to its own file
Fix comments Jco pointed out
Merge branch 'develop' into grouped-cleanup
merge with develop
Merge pull request #741 from twitter/grouped-cleanup

Simplify Grouped/CoGrouped/CoGroupable types