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>