Fix similar broken error handling on several serial calls.
Avoid serial_write_blocking() warnings.
Add a timeout parameter to blocking serial calls.

Set this new parameter to 0 (no timeout) at every call site. This is
consistent with previous behaviour, so cannot cause any regressions.

Waiting forever for a serial operation is clearly always wrong. Without
specific knowledge of each device and driver however, I can't choose
appropriate timeouts for each call. The maintainers of these drivers
will need to do so, and also add appropriate handling of timeouts.

When this commit is merged, a bug should be entered for each driver
that is touched by it.
Add some Agilent USBTMC PIDs.
Add a configurable read timeout to blocking SCPI reads, default 1s.
unit tests: Fix build due to recent changes.
scpi: Populate sdi->connection_id
yokogawa-dlm: Populate sdi->serial_num and sdi->version
rigol-ds: Populate sdi->serial_num
hameg-hmo: Populate sdi->serial_num
scpi-pps: Populate sdi->serial_num and fix hw_info mem leak
Provide getters for sr_dev_inst member access
ikalogic-scanalogic2: Let the sdi getter populate sdi->connection_id
sysclk-lwla: Let the sdi getter populate sdi->connection_id