Switch to a non-recursive automake setup.

Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.

This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.

A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.

All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
Makefile.am: Add missing vxi.h.

If it's not listed as SOURCE, it won't end up in the tarball and a build
from tarball would thus break.
serial-dmm: Implemented support for Voltcraft ME-42 (driver voltcraft-me42).
serial-dmm: Implemented support for Voltcraft M-3650CR (driver voltcraft-m3650cr).
hameg-hmo: Fix the logic for the horizontal trigger position in config_set()

This patch fixes the logic calculating the trigger position as well as the
(hopefully) last remaining locale issue.
hameg-hmo: Add the TRIGGER_SLOPE entry to config_list().
hameg-hmo: Add missing cases in config_get().
Replace 'probe group' with 'channel group' everywhere.

The name 'probe' (and thus 'probe group') is a relic from the times when
sigrok was mostly about logic analyzers. Nowadays we support a lot more
device types where 'probe' is not really a good term and 'channel' is
much better suited.

This fixes parts of bug #259.
Replace some 'pg' with 'cg'.

(since 'probe groups' are now called 'channel groups')

This fixes parts of bug #259.
Replace channel_group.probes with channel_group.channels.

This fixes parts of bug #259.
Consistently use 'cg' for channel group variables.

This matches how we consistently use sdi, devc, and so on all over
the code-base.

This fixes parts of bug #259.
Rename 'struct sr_probe' to 'struct sr_channel' everywhere.

This fixes parts of bug #259.
Replace 'probe' with 'channel' in most places.

Also, consistently use 'ch' for channel variables. This matches how we
consistently use sdi, devc, and so on all over the code-base.

This fixes parts of bug #259.
Rename sr_probe_new() to sr_channel_new().

This fixes parts of bug #259.
Rename various *PROBE* macros to *CHANNEL*.

This fixes parts of bug #259.
Rename a few more API calls with 'probe' in their name.

This fixes parts of bug #259.
A few more random 'probe' to 'channel' changes.

This fixes parts of bug #259.
hameg-hmo: Change some PG_/pg_ names to CG_/cg_.

This fixes parts of bug #259.
rigol-ds: Add the TRIGGER_SLOPE entry to config_get() and config_list()
rigol-ds: Don't close SCPI handle we didn't open.