reinstate dm target local ioctl support

From: Andy Whitcroft
Date: Thu Jan 28 2016 - 08:50:32 EST

With the commit below the dm ioctl support was reordered so that the
target only had to identify the underlying device, the dm_blk_ioctl()
itself then applied those ioctls to the appropriate device:

commit e56f81e0b01ef4e45292d8c1e19edd4d09724e14
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Oct 15 14:10:50 2015 +0200

dm: refactor ioctl handling

However this also removed the possibility of a dm target having target
specific ioctls. Currently this is not used by any in-tree targets but
was utilised by the flashcache out-of-tree module.

How would we feel about carrying something like the patch below in
mainline to allow for such target local ioctls.