CRUNCH-139 Use 1 reducer for PCollection#length
CRUNCH-128: Add an explicit dependency between the output of one MapReduce job
and the start of another one for cases like mapside joins and total orderings,
where we need a file to exist on the filesystem before another process takes
advantage of it.
CRUNCH-127: Support writing multiple HBaseTargets in a single job, which required
renaming InputBundles to FormatBundles, creating a CrunchOutputs to go along with
CrunchInputs and deleting the old MultipleOutputs code, and creating our own
TableOutputFormat for HBase that is compatible with multiple tables. In the process,
remove the circular dependency between o.a.c.io and o.a.c.impl.mr
CRUNCH-113: Move the log4j shenanigans out of MRPipeline and into crunch-test's DebugLogging
and make the debug logging code more robust and configurable.