Add SR_DF_ANALOG2 and related structs.

New structs:
 - sr_rational
 - sr_datafeed_analog2
 - sr_analog_encoding
 - sr_analog_meaning
 - sr_analog_spec
Add sr_analog_to_float().
output/analog: Add SR_DF_ANALOG2 support.
victor-dmm: Convert to use SR_DF_ANALOG2.
mic-985xx: Convert to use SR_DF_ANALOG2.
demo: Use allocation for model string.
sr_driver_scan: Enforce options passed in by client.
bindings: Re-enable Java, but ignore create_analog_packet().

This will need some fixing.
bindings: Fix out-of-tree build.

This closes #473.
Refactor scan options check.
Check the version of the AX_CXX_COMPILE_STDCXX_11 macro.
autogen.sh: Also warn if AX_CXX_COMPILE_STDCXX_11 is not available.

This fixes an error message when the file is not installed at all:

  ./autogen.sh: 67: [: Illegal number:

Turn the AX_CXX_COMPILE_STDCXX_11 errors into warnings though, since
it is (and should be) possible to build libsigrok (just the C library)
just fine, even without that macro or with an older version of it.
Check driver capabilities before sr_config_get/set/list.
demo: Fix square pattern output shorter than other patterns.
demo: Fix analog output at low samplerate.
Add a sr_analog_init() API to initialize sr_datafeed_analog2 struct.

It fills the fields with reasonable default values that should suit
most of the drivers. Drivers are obviously free to override the fields
they want after initializing.
analog: Fix analog_to_float typos, and cleanup.

This was adding 1 to every measurement being converted.
victor-dmm: Set spec digits to 3, matching the display.
Show SR_DF_ANALOG2 packets in debug output.
Add analog helper sr_analog_float_to_string().