hidpp20: update feature list from SetPoint 6.61.15

cases are now sorted by feature ID, some names have been adjusted for
consistency with the documented names.

New feature:
- 0x0002 FeatureInfo
- 0x6120 Touchmouse6120

Renamed fetures:
- IRoot -> Root
- IFeatureSet -> FeatureSet
- IFirmwareInfo -> DeviceFwVersion
- GetDeviceNameType -> DeviceName
- DFUControl -> Dfucontrol
- batteryLevelStatus -> BatteryStatus
- SpecialKeysMSEButtons -> ReprogControls
ltunify: fix do_read failure when receiving unrelated messages

When a touchpad event occurs while the device is being queried (e.g.
for features), then do_io (for do_read) would fail because the report
was not of the correct type (0x20 vs 0x11 for example). To fix this,
make do_read retry reads (within the allowed timeout).

Previously the expected report type was hidden in the msg parameter,
make this expected report type more explicit now in a new parameter.
ltunify: fix crash on unrecognised parameter
ltunify: Add --version (-V) option, use git version if possible