scsi_disk: added a hook for rescanning devices

* a call indicates the media was changed.
scsi: propagates the rescan to our child device

... when registering finds an existing device with a registered child node.
scsi_cmds.h: added SCSIS_ASC_CAPACITY_DATA_HAS_CHANGED

* indicates the device data capacity has changed..
virtio_scsi: added configuration change definitions.

* supported by at least QEmu 1.4
virtio: changed a bit the driver API by adding a driverCookie.

* the processing of requests in drivers is eased a bit with this change, but
this could be improved for instance by enabling a driver to dequeue items
in a service thread instead of the interrupt handler.
* made a few methods const.
virtio_scsi: now handles events like capacity data changed.

* push event requests on the event queue, handles them.
* activate feature VIRTIO_SCSI_F_CHANGE.
* when a capacity data changed event is received, schedule a rescan of the scsi device node
on the scsi dpc queue. we find out unique child node and call the rescan_node() hook.
* Haiku only handles media changed events on removable devices, so the feature
only actually works when the device is defined as such, aka for QEMU the following option:
-device scsi-hd,drive=hd,removable=true
DiskUsage: drawing artefact in TabView
virtio_pci.cpp: check for (un)supported hardware never fit

CID #1032255
Fix Called C++ object pointer is null

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
Fix called C++ object pointer is null

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
Fix called C++ object pointer is null

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
Use delete[] instead of delete

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>