prevent newline character at the end of each record
actually output the NullWritable instance as output value
improve robustness:

 - accept multiple input paths
 - let hadoop calculate number of reducers if not overridden by user
 - let hadoop generate job name if not specified by user
 - take advantage of GenericOptionsParser
add comments giving an explanation for each setting