test-umockdev-record.vala: Use error() instead of Process.abort()
Support USBDEVFS_GET_CAPABILITIES ioctl

This is being used by current libusbx, particularly for
USBDEVFS_CAP_NO_PACKET_SIZE_LIM (which changes the structure of URBs).
preload: Add some ioctl recording debug messages
preload: Repair recording if device gets opened multiple times

This got broken in commit b5a5cf2c. We keep the ioctl_record_log file and the
ioctl_record tree around all the time during recording. freeing it caused all
previously recorded data to get discarded.
ioctl recording: Never consider input URBs equal

Never consider URBs equal even if they have exactly the same data, as that
might give a mismatch between identical SUBMITs and different REAPs.

This is exposed by e. g. trying to record and then replay

  gphoto2 -l; gphoto2 -L; gphoto2 -T; gphoto2 -P

or recording and replaying Shotwell photo import.
canon-powershot-sx200.ioctl: Add preview and download

Replace demo pictures with real photos, and add ioctls for gphoto2 -T (download
thumbnails) and gphoto2 -P (download images).

Also add the original pictures as devices/cameras/test-photos.tar to be able to
restore them to an SD card easily in the future.

Add test cases for gphoto2 -P download and gphoto2 -T thumbnail download.
Add test case for recording and replaying gphoto2

This requires a connected gphoto2 compatible camera. If none is found, or
gphoto2 is not installed, skip the test.