Made gp_widget_* functions more memory safe.

Many of them return pointers to nodes in a widget tree. These are unsafe
as they become invalid if the tree is deleted. Now the Python binding
increments the ref count of the tree root when a pointer is returned,
and decrements the root ref count when the returned object is deleted.
Increment version number.
Made v2.4 handling of GPPortInfo more like v2.5

The functions gp_camera_get_port_info and gp_port_info_list_get_info now
allocate a GPPortInfo object in both versions. Previously when using
v2.4 you had to allocate your own and pass it to the function.
Functions that return CameraAbilities* now allocate.

This changes the Python API slightly, so the version number is
incremented. The affected functions are gp_abilities_list_get_abilities
and gp_camera_get_abilities.
Adjust error handling to work with my dSLR.
Updated change log.
Return None if widget invalid.

Functions such as gp_widget_get_child_by_label can fail to find a
widget. In this case the return value should be None, not an invalid
CameraWidget type that causes a segfault when it is freed.
Redefine gp_widget_get_value & gp_widget_set_value

New functions use int, float or string according to the widget type.
Updated change log.
minor change to swig options

‘-builtin’ flag removed - it won’t work on any of my machines
Capture preview image from camera and save to disk.
Capture image on camera and save to disk.
Trigger capture on camera and save to disk.
Merge branch 'master' of https://www.github.com/mdifonzo/python-gphoto2