Fix specify path for storage disk

Adds a new NVME parameter "path" used to specify the directory used to
hold the storage disk images (i.e. backing storage). This allows
multiple nvmeqemu instances to run and segregate their disk images.

Signed-off-by: Chuck Tuffli <chuck.tuffli@oakgatetech.com>
Fix make NVME serial number unique

Make the serial number reported in the Identify Controller command based
on a combination of the NVME device instance and the QEMU UUID.

Signed-off-by: Chuck Tuffli <chuck.tuffli@oakgatetech.com>
Include NVME metadata in block size calculation

If the device supports metadata and is formatted to use an extended LBA
(i.e. metadata is included at the end of the data block), adjust the
NVME block size value used to calculate the file offset into the storage
disk.

Signed-off-by: Chuck Tuffli <chuck.tuffli@oakgatetech.com>