Backport of #1093
Add a core implementation of KVAO.iterateKeys() which returns an AsyncIterator, inspired by - https://github.com/tc39/proposal-async-iteration - https://www.npmjs.com/package/async-iterators This way we can safely iterate even large sets of data. Also add KVAO.keys(), a sugar API converting the result of iterateKeys() into a single array.