Optimize groupKeyIterator() to use get() instead of getRange().

A new iterator obeying the same contract, but returning the raw value from the get if it succeeds.

Although the contracts are a little fuzzy, I do not believe that there is a case where groupKeyIterator is intended to return a later single key. Also, the check of the returned key is now redundant, but mostly harmless.