hameg-hmo: Make sure the enabled_channels list is empty before populating it

Previous runs of dev_acquisition_start() keep the enabled_channels list
populated if they fail. This means that once an invalid channel
configuration was detected, it will be detected again even if the channel
configuration was changed. With this change, the list will be cleared
before being populated so that any stale entries are removed.
output: Actually return a NULL-terminated array.

This returned an array of structs with an NULL-ed element at the end.
The drivers still do this, but the wrappers now make and free a NULL-
terminated array around it.

sr_output_options_free() now takes the pointer returned by
sr_output_options_get(), instead of the module owning it.
output: Constify module options.
bindings: update for sr_output_options_{get,free} API change.
Fix include paths for out-of-tree builds
Makefile.am: Fix doxygen invocation in out-of-tree build
Makefile.am: Fix out-of-tree build for C++ and Java bindings
configure.ac: Look for python-2.7.pc as well when making bindings
Makefile.am: Fix out-of-tree build for Python bindings
saleae-logic16: Recognize FPGA FIFO overflow status
unitests: Adapt to recent API changes.
output: Fix output option enumeration.
output: Fix double free.
input: s/format/module in all naming.
input: make sr_input{_module} opaque to clients.
input: Introduce new input module API.

This is a work in progress.
input: Fix up API documentation.
input: Fixes and VCD.
input: Frontends don't need to see SR_INPUT_META_*.
input: Actually return a NULL-terminated array.