Add bindings for getting/setting session trigger.
bindings: Add Packet.get_type() method.
Add Doxyfile for C++ bindings and adaptations to C++ header file.
std: Free channel groups from device instances as well.
demo: Free analog channel groups when done with them.

This fixes a memory leak.
C++: Centralise code for preparing shared pointers.
C++: Add internal lookup to find Channel object from sr_channel *.
C++: Fix Packet destructor for packets without payload.
C++: Fix leak of GVariant in ConfigKey::parse_string().
bindings: Overhaul packet & payload classes.
bindings: Support get_channel_groups() on base Device class.
bindings: Revise Session::append() API.
bindings: Change return type of config_list to Glib::VariantContainerBase.
bindings: Add Device::get_description() method.
bindings: Add Channel::get_index() method.
output: Finish output module API wrappers.

The sr_output and sr_output_module structs are now no longer accessible
from the client.
Update bindings to use new output API.