blk-mq: uninitialized queue in blk_mq_queue_enter

When a queue haven't been fully initialized as a gendisk, its
QUEUE_FLAG_INIT_DONE isn't set and leads to a panic on hotplug removal.
NVMe: conversion to blk-mq

This converts the current NVMe driver to utilize the blk-mq layer.

Contributions in this patch from:

  Sam Bradshaw <sbradshaw@micron.com>
  Jens Axboe <axboe@kernel.dk>
  Keith Busch <keith.busch@intel.com>
  Christoph Hellwig <hch@infradead.org>
  Robert Nelson <rlnelson@google.com>
NVMe: remove check for null nvme queue

It fails anyway with the nvmeq->hctx check.
NVMe: remove cpumask
NVMe: free nvme after its been taken offline
NVMe: add support for chunk size