Minor performance-based Map/Reduce modifications.

* Combiners are thread-safe; CopyOnWriteArrayLists are terribly costly to use.
* Collection.isEmpty() may occasionally be more performant than Collection.size() == 0.
* Initialize HashMap with known capacity.