configure.ac: Don't build BeagleLogic where a build would fail.

The BeagleLogic driver needs sys/mman.h and sys/ioctl.h in order to
build, so disable the driver if those headers aren't available.

This is the case (for example) on MinGW.
Fix typo in the Hameg HMO driver and add some error message for when the float comparison breaks
C++ bindings: Reimplement enums.py using doxygen XML output instead of gccxml.
C++ bindings: Attach documentation to enum wrapper classes.
bindings: Transfer C++ documentation strings to Python and Java wrappers.
python: Add documentation generation.
java: Add documentation generation.
C++: Add parameter documentation and additional method descriptions.
bindings: Transfer C++ method parameter documentation to Python/Java bindings.
Doxygen: Add a few missing @param lines for sessions.

This fixes a bunch of Doxygen warnings.
Doxygen: Silence Doxygen warnings by default.

This allows for a clean build per default. Developers can enable
those switches while writing documentation to get a few useful
warnings.
Makefile.am: Silence some more Doxygen output.

This silences stuff like this (among others), depending on the
Doxygen version used:

  Warning: Tag `XML_SCHEMA' at line 1814 of file `Doxyfile' has become
  obsolete. To avoid this warning please remove this line from your
  configuration file or upgrade it using "doxygen -u"
trigger.c: Add Doxygen @file and @defgroup tags.
Doxygen: Exclude more non-public files and directories.
session_file.c: Drop left-over extern.
Add a small set of unit tests for session handling.
sr_session_new(): Return SR_ERR_ARG upon invalid argument.

(instead of segfaulting)
tests: Factor out srtest_setup() and srtest_teardown().
output: Deal properly with NULL (no) options on a new output instance.
output/wav: Minor code cleanup.