Integrate new OpenHashMaps into Aggregator and CoGroupedRDD

This commit integrates @rxin's memory-efficient hash maps into `Aggregator` and `CoGroupedRDD`. The most efficient hashmap to use will be chosen at runtime based on the type of the keys with the fallback being an `AppendOnlyHashmap` which can handle keys of any type.

I have spark-perf numbers comparing this change against master. In most cases there was a negligible change in runtime between the two. There were a few runs where these changes performed significantly faster. I can provide the full results if anyone wants to see them.