A KeyValueIterator is an Iterator that has a key and a value.