es519xx: fix continuity mode handling

Depending on the chip, the limit value for the buzzer is between 25 and 35 Ω,
so this code set the limit for continuity to 25 Ω to be on the safe side.
es519xx: correctly handle the voltage factor in diode mode
es519xx: fix switching between frequency and duty cycle mode on 14 bytes chips

Here is what the datasheet says about this:
  "If judge bit is 1, it means frequency mode. If judge bit is 0,
   it means duty cycle mode."
But this is plain wrong. Reality proves this is the other way around.
es519xx: apply the proper fixed factor in duty cycle mode
es519xx: correctly handle the VAHZ function

This handles the frequency and duty cycle display in voltage or current mode.
switch the UNI-T UT61E driver to the new es519xx parser
remove the es51922 protocol parser, superseded by the es519xx protocol parser
Add blocking and nonblocking versions of serial_read and serial_write.
ols: Mark all serial calls as blocking or nonblocking.
ols: Use serial source management wrappers.
fix endian neutral helper macro to return an integer type
es519xx.c: Fix a few compiler warnings (clang).

  CC       libsigrok_hw_common_dmm_la-es519xx.lo
es519xx.c:632:33: warning: missing field 'is_voltage' initializer
      [-Wmissing-field-initializers]
        struct es519xx_info info = { 0 };
                                       ^
es519xx.c:659:33: warning: missing field 'is_voltage' initializer
      [-Wmissing-field-initializers]
        struct es519xx_info info = { 0 };
                                       ^
es519xx.c:688:33: warning: missing field 'is_voltage' initializer
      [-Wmissing-field-initializers]
        struct es519xx_info info = { 0 };
                                       ^
es519xx.c:717:33: warning: missing field 'is_voltage' initializer
      [-Wmissing-field-initializers]
        struct es519xx_info info = { 0 };
                                       ^
es519xx.c:746:33: warning: missing field 'is_voltage' initializer
      [-Wmissing-field-initializers]
        struct es519xx_info info = { 0 };
                                       ^
es519xx.c:773:33: warning: missing field 'is_voltage' initializer
      [-Wmissing-field-initializers]
        struct es519xx_info info = { 0 };
                                       ^
es519xx.c:800:33: warning: missing field 'is_voltage' initializer
      [-Wmissing-field-initializers]
        struct es519xx_info info = { 0 };
                                       ^
7 warnings generated.
gmc-mh-1x-2x: Fix compiler warning (clang).

  CC       libsigrok_hw_gmc_mh_1x_2x_la-protocol.lo
protocol.c:133:32: warning: equality comparison with extraneous
parentheses
      [-Wparentheses-equality]
                        } else if ((devc->scale1000 == 2)) {
                                    ~~~~~~~~~~~~~~~~^~~~
protocol.c:133:32: note: remove extraneous parentheses around the
comparison to
      silence this warning
                        } else if ((devc->scale1000 == 2)) {
                                   ~                ^   ~
teleinfo: Fix a compiler warning (clang).

  CC       libsigrok_hw_teleinfo_la-protocol.lo
protocol.c:62:41: warning: missing field 'num_samples' initializer
      [-Wmissing-field-initializers]
        struct sr_datafeed_analog analog = { 0 };
                                               ^
Add support for the UNI-T UT61B multimeter.
uni-t-dmm: Fix incorrect order which breaks UT61B/C.
output/analog: Add missing space (consistency).
Add initial support for the V&A VA40B multimeter.
serial-dmm: Drop obsolete function prototypes.
serial-dmm: Increase timeout when scanning for DMMs.

We have to wait a bit longer than 1s for a valid DMM packet to arrive,
since for various DMMs some modes (Hz/% for example) the packets will
arrive a lot less often than in other modes. If the waiting period is
too short detection of the DMM will fail.