MFC r257161, r257169, r257178, r257190, r257191

 Add pmap_mapdev_attr() and pmap_kenter_attr() interfaces.

 Fix concurrency issues with TLB1 updates and make pmap_kextract() search
 TLB1 mappings as well

  Interrelated improvements to early boot mappings:
  - Remove explicit requirement that the SOC registers be found except as an
    optimization (although the MPC85XX LAW drivers still require they be found
    externally, which should change).
  - Remove magic CCSRBAR_VA value.
  - Allow bus_machdep.c's early-boot code to handle non 1:1 mappings and
    systems not in real-mode or global 1:1 maps in early boot.
  - Allow pmap_mapdev() on Book-E to reissue previous addresses if the
    area is already mapped. Additionally have it check all mappings, not
    just the CCSR area.

 Add some extra sanity checking and checks to printf format specifiers.

 Bump initial TLB size. The kernel is not necessarily less than 16 MB

 Handle (in a slightly ugly way) ePAPR-type loaders that just place a
 device tree into r3.
MFC r257180, r257195,  r257196, r257198, r257209, r257295

 Add some extra sanity checking and checks to printf format specifiers.

 Try even harder to find a console before giving up.

 Make devices with registers into the KVA region work reliably.

 Turn on VM_KMEM_SIZE_SCALE on 32-bit as well as 64-bit PowerPC.

 Return NOKEY instead of 0 if there are no more key presses queued.