Refactor write/read/decode process into a single method, send
Refactor write/read/decode process into a single method, send

I've noticed short reads when running on my Raspberry Pi. I don't
*think* this goes against the HID spec, but anyway the missing data is
only ever the junk at the end of the response, so we now handle short
reads as long as we're able to unpack all the expected data from the
response.

yrro/temper-exporter,yrro/temper-exporter