Revert "lightnvm: ATA/SCSI integration"

This reverts commit e82a2a2fd6360f4a7714e1f5b9e69cecb4a0d503.

Wait with including the ATA/SCSI work until the NVMe interface is
well-defined.
block: add variables to support LightNVM

The core LightNVM data structure is put into struct request queue, to
easily reference the lightnvm code when issuing and completing requests.

Additionally, the BLK_MQ_F_LIGHTNVM flag is added to notify blk-mq to allocate
extra space within the private field of tags.
lightnvm: integration into block layer

Make lightnvm an intrinsic part of the block layer.

A queue can be LightNVM managed. When managed, on init bio to rq, the
lightnvm mapping fn is called. Similar to when IO is completed, the
completion function is called.

Detection of LightNVM managed queue is through q->queue_flags &
QUEUE_FLAG_LIGHTNVM, and device driver may signal its initialization
through BLK_MQ_F_LIGHTNVM.