Add sorted take optimizations
Address some review comments
Merge branch 'develop' into oscar-sortwithtake

Conflicts:
	scalding-core/src/main/scala/com/twitter/scalding/typed/KeyedList.scala
Style changes from scalariform
Step 1 on a bufferedTake monoid for unsorted cases
Generate methods for flattening the results of many joins
Make flatten operate on Grouped, add multijoin methods
Use fancier types
Rename to flattenValueTuple
Move bufferedTake to KeyedListLike
Fix to avoid serializing the priority queue in the common case
Merge with develop
Actually exercise bufferedTake
Changing to the MultiJoin object approach
Execise MultJoin in a test
Merge pull request #1097 from twitter/alexlevenson/tuple-flatten

Generate methods for flattening the results of many joins
Merge pull request #894 from twitter/oscar-sortwithtake

Add bufferedTake to do map-side takes
Fix bufferedTake
Merge pull request #1107 from twitter/fixup-bufferedtake

Fix bufferedTake