Add support for accessed/dirty bit emulation in amd64/pmap.

This is motivated by nested page table implementations that do not keep
track of accessed/dirty bits.

Accessed Bit emulation is done by enforcing that PG_A is always set
concurrently with PG_V. Thus, the accessed bit is "cleared" by removing
the mapping entirely from the pmap.

Dirty Bit emulation is done by temporarily mapping the page as readonly
and then setting the (PG_RW|PG_M) bits on a write fault.

Mappings that are truly readonly are identified with the PG_RO pseudo-flag.