Make Context#keys return a function instead of an iterator-like object.

Since these are all implementation details, we don't have to return an
actual iterator object (which would normally have a next method). Instead
we return the next method directly, saving an object.