Use G_GNUC_WARN_UNUSED_RESULT in prototypes
This specifies G_GNUC_WARN_UNUSED_RESULT should be used in function prototypes, and use it to warn users of the C API (and ourselves) in case we mistakenly ignore a returned value that transfers a resource to the caller.
Fixes #127 (closed)