Fix a 'panic: vm_page_cache: caching a dirty page' assertion. Even though
callers of vm_page_cache() check m->dirty and test the PTE's in the page's
pmap, it is still possible on a SMP system for a process running in usermode
on a different cpu to dirty the page after these tests, but before the page
has been removed from various pagetables.
The solution is to test m->dirty again after vm_page_cache() removes the
page from its associated page tables and silently deactivate the page instead
of moving it to the cache if the page is found to be dirty.
Reported-by: Peter Avalos <pavalos@theshell.com>