Added GrpNVMFlushCmd into the framework.
Added GrpNVMFlushCmd group to the framework.
A bunch of bug fixes.

1) Bugfix: Tests
    a) GrpNVMWriteReadCombo/prpOffsetDualPgMultiBlk_r10b.cpp
    b) GrpNVMWriteReadCombo/prpOffsetMultiPgMultiBlk_r10b.cpp
   Didn't allocate enough meta data for meta type namespaces. Those tests
   were throwing exceptions when run against meta namespaces.
2) The group class now understands the name it has been assigned for logging
   reasons.
3) A failed test now reports both the group number and test number for easy
   reference to rerun the test. This will show up via stderr or if using
   the example script manage/runtnvme.sh it will show up in Logs/current.
4) Introduced more resolution to identify namespace types. The test cases
   needed to consider all permutations of meta data and E2E namespaces. Namely
   the additional considerations were whether or not the meta data is
   supplied as a separate buffer or whether it is interleaved within the PRP
   payload.
Add test InvalidNamspc_r10b in group GrpNVMFlushCmd
Added test UnsupportRsvdFields_r10b in GrpNVMFlushCmd.
Added group GrpNVMCompareCmd.

Optional groups of tests will attempt to run by default so that an explicit
decision as to whether or not a particular device supports the feature must be
made. To skip unsupported features you must supply a --skiptest parameter
to tnvme.
Revert "Added group GrpNVMCompareCmd."

This reverts commit aa8c83af5136c054b007ff8b7ee674d4dd6a7874.
Bugfixes and enhancements.

1) Bugfix: The CC.MPS bitmask was inadvertently affecting the CC.CSS field
   when it was being set
2) Added cmd line option --golden,
   see https://github.com/nvmecompliance/tnvme/wiki/Command-Line-Options for
   full details
3) Purposely setting CC.MPS before each ctrlr enabling for completeness and to
   show an example. Other, future, cmd sets will need to do this explicitly,
   since the NVM cmd set is 0 anyway it really doesn't need to be set, but for
   complete and thorough only it is being done now.
4) The meta data allocation size has been increased to handle a larger array
   of devices.
Merge branch 'master' of ssh://dcgshare.lm.intel.com/share/lm/repo/nvme/tnvme
Added extended LBA support and other modifications.

    The major change is the support added for extended LBA. All the
    tests now allocate separate meta buffers only when the namspc
    is of configured for separate meta buffer. When namspc is configured
    for extended LBA format then the allocated buffer is resized to fit
    the meta data as an addendum to data buffer.

    The following are the additional modifications:

    1) Defined maximum data transfer size in tnvme.h and
       used in all places needed.
    2) In metaData.h fixed to return 32 bits from GetMetaBufferSize()
       instead of 16 bits.
    3) Bug fixes in GrpBasicInit/VerifyDataPat and WriteDataPat to
       consider the type of namespace and necessary meta data support
       before sending down any NVM cmds.
    4) Added new test GrpNVMWriteCmd/LbaOutOfRangeMeta_r10b.
    5) Peppered code with LOG_NRM prints to aid in debug sessions.
Issues with auto merging.

   Some of the changes in GrpNVMWriteReadCombo didn't make
   to the main branch because of auto merge. Cherry picked
   from previous commit and manually resolved the conflicts.

Conflicts:
	GrpNVMReadCmd/unsupportRsvdFields_r10b.cpp
	GrpNVMWriteReadCombo/prpOffsetMultiPgMultiBlk_r10b.cpp
	GrpNVMWriteReadCombo/prpOffsetSinglePgSingleBlk_r10b.cpp
Added group GrpNVMWriteUncorrectCmd and Identify test.
Update testPlan.ods per completed tests.
Removed safeguard checking.

The removal was due to rethinking the linkage between cmds and the gInformative
singleton. Accessing a singlton isn't necessary because asking for more DWORDs
is, yes, undefined, but the value of the data is undefined, not the outcome. So
in other words the kernel won't crash and one may even want to request more
data that is available for testing purposes.
Added group GrpNVMDatasetmgmtCmd.
Added new test and bug fixes.

    1) Added new test GrpNVMReadCmd::LBAOutOfRangeMeta_r10b.
    2) Bug fix in GrpNVMWriteReadCombo::PRPOffsetSinglePgSingleBlk_r10b
       test, when X becomes negative, then test should simply ignore.
    3) Updated Cmds::FormatNVM to throw when any out of range values
       are set.
    4) Checking in updated Doc/testPlan.ods.
Removed dependancy upon nvme_cmds enum.

This enum was used to decide if a cmd was an admin cmd or not from within dnvme.
This however isn't needed since any cmd issued into SQ ID = 0 is thus by
definition an admin cmd. There is no good reason to track this knowledge as
an alternative variable. It is redundant.
Added new test IgnoreMetaPtrMeta_r10b

    Added test IgnoreMetaPtrMeta_r10b to both GrpNVMReadCmd
    & GrpNVMWriteCmd groups.
    Checking in Doc/testPlan.ods file.
Added 3 tests within GrpNVMDatasetMgmt.

Added PRP1PRP2NR_r10b, InvalidNamspc_r10b, and UnsupportedRsvdFields_r10b.
Added tests, groups, and bugfix.

1) Added groups: GrpAdminDeleteIOCQCmd & GrpAdminDeleteIOSQCmd
2) Added tests within each group: CreateResources_r10b
3) Bugfix: Group and test cases for GrpNVMCompareCmd were merge "out"
   in some prior commit, added back in.
4) Class member KernelAPI::DumpCtrlrSpaceRegs() coded a redundant and
   confusing if else clause. This has been removed, it was never executed.