Implement proper GError handling for callbacks
Submitted by Zach Goldberg
Link to original bug (#616036)
Description
If one has a GError parameter to a callback function we need to handle it in a special way.
If the direction is IN/INOUT:
We need to convert the GError to a Python Exception (we can use this information from John E. to assist: 17:26 < jpe>
zgold, look at pyglib_error_check in pygobject/pyglib.c for GError creation) and pass that exception as an argument to the python callback.
If the direction is INOUT/OUT: We need to convert any python exceptions which occur to a GError and set the pointer properly. If no python exception occurs we should probably keep the GError as null.