arm: Rearrange brackets in the fault cause detection

Place the brackets correctly in order to see course of the conditions
instantaneously.
arm: Use pmap_find_pv if needed instead of multiplying its code throughout pmap.
arm: Switch to AP[2:1] access permissions model. Store "referenced" bit in PTE.

Enable Access Flag in CPU control. With AF enabled each valid mapping needs to
have referenced bit in PTE set in order to be able to cache it in the TLB.

AP[0] bit is to be used as reference flag.
All access permissions are encoded by AP[2:1] wherein AP[1] is in fact
"user enable" and AP[2](APX) is "write disable".

All mappings are always set to be valid. Reference emulation is performed by
setting/clearing reference flag in PTE.

md.pvh_attrs are no longer necessary however pv_flags are still being used for
now.

Marking vm_page as "dirty" or "referenced" is being performed on:
- page or flag fault servicing in pmap_fault_fixup(), basing on the fault type
- vm_fault servicing in pmap_enter() according to the desired protections
  and faulty access type
Redundant page marking has been removed as on ARM we know exactly when the
particular page is referenced or is going to be written.
arm: Unify naming in pmap-v6.c and improve style

Use naming common for whole pmap and compatible with other pmaps:
pm   -> pmap
pg   -> m
opg  -> om
*pt  -> *ptep
*pte -> *ptep
*pde -> *pdep

Improve style where possible.
arm: Get rid of VERBOSE_INIT_ARM option

This "NetBSDism" won't actually work on FreeBSD as the console is being
initialized after pmap preliminary setup.
On the other hand, drivers that were using VERBOSE_INIT_ARM for debug purposes
are not part of or are not called in initarm() so the option is misused.
In such cases exchange VERBOSE_INIT_ARM to debug printf (DPRINTF) and delete
all other useless VERBOSE_INIT_ARM ifdefs.
arm: Avoid possible NULL pointer dereference in pmap_enter_locked()

When trying to get m->md.pv_memattr, make sure that m != NULL,
in particular that vector_page is set to be NULL.
arm: Do not set PGA_REFERENCED flag in pmap_enter_pv()

On ARM any new page reference will result in either entering the new mapping by
calling pmap_enter, etc. or fixing-up the existing mapping in
pmap_fault_fixup().
Therefore we set PGA_REFERENCED flag in the earlier mentioned cases and
setting it later in pmap_enter_pv() is just waste of cycles.
arm: Stop using PVF_MOD, PVF_REF & PVF_EXEC flags in pv_entry. Use PTE instead.

Using PVF_MOD, PVF_REF and PVF_EXEC is redundant as we can get the proper info
from PTE bits.
When the mapping is marked as executable and has been referenced we assume that
is has been executed. Similarly, when the mapping is set to be writable and is
referenced, it must have been due to write access to it.
PVF_MOD and PVF_REF flags are kept just for pmap_clearbit() usage, to pass the
information about which bit should be cleared.
arm: Rework and organize pmap_enter_locked() function.

pmap_enter_locked() implementation was very ambiguous and confuzing.
Rearrange it so that each part of the mapping creation is separated.
Avoid walking through the redundant conditions.
Extract vecor_page specific PTE setup from normal PTE setting.
arm: Delete unused pm_pdir pointer from the pmap structure.