added MapReduce.combine(). Updated the interface API a bit to make it cleaner. Added combiners to respective steps where it makes sense.