- convert part of the oea64 mmu code to rwlocks.
- change the pv lock names to individual ones for analysing hotspots.
- create a lock acquisition/free pattern based on radix mmu / amd64 pmap.
- migrate pmap_enter, pmap_enter_object and its downstream callers over to use this.
- Enable rwlock recursion on writers, since the superpage code hasn't yet been converted and i'm seeing lock recursion happen in this path.
- convert pvo cleanup to use the lock iterator.
This means that the pv lock is held for a bit longer, but I audited the
spots and it looks OK and isn't yet tripping up witness in a 4 CPU VM.