libnvdimm for 4.16

* Require struct page by default for filesystem DAX to remove a number of
  surprising failure cases.  This includes failures with direct I/O, gdb and
  fork(2).

* Add support for the new Platform Capabilities Structure added to the NFIT in
  ACPI 6.2a.  This new table tells us whether the platform supports flushing
  of CPU and memory controller caches on unexpected power loss events.

* Revamp vmem_altmap and dev_pagemap handling to clean up code and better
  support future future PCI P2P uses.

* Deprecate the ND_IOCTL_SMART_THRESHOLD command whose payload has become
  out-of-sync with recent versions of the NVDIMM_FAMILY_INTEL spec, and
  instead rely on the generic ND_CMD_CALL approach used by the two other IOCTL
  families, NVDIMM_FAMILY_{HPE,MSFT}.

* Enhance nfit_test so we can test some of the new things added in version 1.6
  of the DSM specification.  This includes testing firmware download and
  simulating the Last Shutdown State (LSS) status.