libnvdimm for 4.5

1/ Media error handling: The 'badblocks' implementation that originated
   in md-raid is up-levelled to a generic capability of a block device.
   This initial implementation is limited to being consulted in the pmem
   block-i/o path.  Later, 'badblocks' will be consulted when creating
   dax mappings.

2/ Raw block device dax: For virtualization and other cases that want
   large contiguous mappings of persistent memory, add the capability to
   dax-mmap a block device directly.

3/ Increased /dev/mem restrictions: Add an option to treat all io-memory
   as IORESOURCE_EXCLUSIVE, i.e. disable /dev/mem access while a driver is
   actively using an address range.  This behavior is controlled via the
   new CONFIG_IO_STRICT_DEVMEM option and can be overridden by the
   existing "iomem=relaxed" kernel command line option.

4/ Miscellaneous fixes include a 'pfn'-device huge page alignment fix,
   block device shutdown crash fix, and other small libnvdimm fixes.