Copy the input values in the reducer/combiner instead of reusing a single Writable instance.

This adds some performance overhead (hopefully small), but in return makes it safe to call
any method supported by Scala's Iterator (map, fold, toList, collect, etc),
without crazy and/or unexpected behavior.
change primary scala version to 2.10.0