libnvdimm for 4.17

* A rework of the filesytem-dax implementation provides for detection of
  unmap operations (truncate / hole punch) colliding with in-progress
  device-DMA. A fix for these collisions remains a work-in-progress
  pending resolution of truncate latency and starvation regressions.

* The of_pmem driver expands the users of libnvdimm outside of x86 and
  ACPI to describe an implementation of persistent memory on PowerPC with
  Open Firmware / Device tree.

* Address Range Scrub (ARS) handling is completely rewritten to account for
  the fact that ARS may run for 100s of seconds and there is no platform
  defined way to cancel it. ARS will now no longer block namespace
  initialization.

* The NVDIMM Namespace Label implementation is updated to handle label
  areas as small as 1K, down from 128K.

* Miscellaneous cleanups and updates to unit test infrastructure.