Add sr_dev_inst_user_new(), sr_dev_inst_channel_add().
unit tests: Add a test case for sr_dev_inst_user_new().
unit tests: Add a test case for sr_dev_inst_channel_add().
output: Add srzip, the session file format.

The 'filename' option is required: this module creates the zip file
itself, and never actually outputs anything back to the calling frontend.
cxx: Implement more of EnumValue in template.
bindings: Rename ConfigKey::get(string) to get_by_identifier().

The polymorphism with get(int) causes problems here when a char * is passed.
bindings: Wrap EnumValue base class.
bindings: Expose EnumValue::id and EnumValue::name as attributes.
bindings: Expose ConfigKey::identifier as an attribute.
bindings: Use new %attributevector and %attributemap macros.
python: Fix mapping of vector & map attributes to Python types.

Fixes bug #382.
bindings: Support per-language extensions to EnumValue wrappers.
python: Implement equality checks for EnumValue derived classes.

Fixes bug #443.
python: Fix error handling for callbacks.
python: Return correct PacketPayload subclasses from Packet.payload()
bindings: Expose Analog::channels() as an attribute.
python: Wrap Analog::data() as a NumPy array.
HACKING: Minor updates.
HACKING: Document the new malloc related guidelines.
Change sr_dev_inst_new() to take no parameters.

Change all callers to set the fields manually as needed.