Merge pull request #158 from jdegoes/ready/157

Partial work towards #157
Merge pull request #159 from jdegoes/ready/157

Code cleanup to improve pipeline phase. Part of work towards #157.
tighten up interface to pipeline builder to prevent more errors
Merge pull request #160 from jdegoes/master

tighten up interface to pipeline builder to prevent more errors - #157
Part of #157:
1. Delete PipelineBuilder.fromInit and replace with less expressive method on PipelineBuilder, misc code cleanup
2. Don't use default args for PipelineBuilder.groupBy and add bogus merging method to merge grouping sets