`toArray` will always preserve keys now; added `keys()` and `values()` to allow people to ignore keys/values. Significant improvements to code reuse; renamed `IteratorToCollectionAdapter` to `IteratorCollectionAdapter`.