My aim is to fix the CTF type graph in the i386 kernel. The templating
of struct pmap results in three different definitions of struct pmap
among different compilation units. This means that any structure that
references struct pmap or pmap_t, such as vmspace or vm_map, gets
duplicated, and this results in a blow-up of the CTF type graph.
Re-unify the pmap definition using unions for fields that differ between
the PAE and non-PAE pmaps. This is not very pretty, but I think it is
easier to understand and removes the need to #define pmap.