Enable reservation-based physical memory allocation on ARM

Submitted by:   Zbigniew Bodek <zbb@semihalf.com>
Sponsored by:   The FreeBSD Foundation, Semihalf
Introduce initial implementation of the ARMv6/v7 superpages management routines

Implemented basic promotion, demotion, enter and remove mechanisms for 1MB
superpages along with related PV entry management.
Prepare structures, macros and sysctls to be used by superpages.
Change existing L1 descriptors management to be able to process both L1 page
directories and L1 page table entries.
Enable compilation of the newly created routines by creating a dummy
calls - to be removed when proper utilization is implemented.
Introduce preliminary superpages for ARMv6/v7 support.

Implement missing functions, modify pmap API, fix noticed bugs.
Fix bugs and add missing functionalities in superpages support for ARMv6/v7

- Add large pages support in  pmap_is_referenced()
- Fix bug in write access fixup for section mappings
- Add helpful assertions
- Fix bug in pmap_pv_reclaim() regarding sections mappings
Put the complicated formula for the number of L2 PTEs into define

L2_PTE_NUM_TOTAL is a simple representation of
(L2_TABLE_SIZE_REAL / sizeof(pt_entry_t))
Add large mappings support to pmap_mincore() for ARMv6/v7 platforms
Fix compilation for ARM variants preceding ARMv6
Fix pv_head memory allocation after revision 254025