Support map-only streaming jobs

If the number of reducers is set to 0, Hadoop won't even run the reduce
phase of the job.  So if there is no reducer() method defined in the
JobTask, we run a map-only job and the mapper writes output directly
instead of serializing the key/value.