Check for vendor pages not following page format (even if
they must).
* DiscImageChef.Devices/Device/Constructor.cs:
Some devices (at least smsc usb-floppy) crash and reset when
receiving ata over the ATA PASS-THROUGH scsi command. This
will check for SCSI compliance first giving devices time to
reset.
* DiscImageChef.Devices/Device/ScsiCommands.cs:
Some devices (smsc usb floppies) return the real command
result size disregarding allocation length and generating a
buffer overflow.
* DiscImageChef.Devices/Enums.cs:
Added some vendor commands for Plextor and HL-DT-ST devices.
* DiscImageChef/Commands/DeviceInfo.cs:
Mode sense should be written even if it can't be decoded.
Added code to separate features and the feature header.
* DiscImageChef.Devices/Enums.cs:
* DiscImageChef.Devices/Device/ScsiCommands.cs:
Added SCSI GET CONFIGURATION
* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
Added structs with ATA registers.
* DiscImageChef.Devices/Command.cs:
* DiscImageChef.Devices/Device/Commands.cs:
Added ATA commands.
* DiscImageChef.Devices/Enums.cs:
Added SCSI's ATA Command Pass-Through enumerations.
* DiscImageChef.Devices/Linux/Command.cs:
Added ATA commands using libATA's SATL.