vm_grab: use iterator for grab lookup
When a page lookup fails in a vm_page_grab operation, use the results
of the failed search, stored in an iterator, to begin the search for a
predecessor to use in a call to vm_page_alloc_after(), to avoid doing
that search from the root in vm_page_alloc(), as happens now.
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D49371