Gio: backport safer GLib.Volume handling code (bgo#721203)

Backporting three commits [1][2][3] from master which make the
code a bit safer against null values and make CD handling
compatible with new GIO APIs (even though these APIs don't
apply to the stable branch, the more in sync the code is,
the better).

[1] https://git.gnome.org/browse/banshee/commit/?id=20bacf9a3d06b2d136b474319f0b8224947bc4b8
[2] https://git.gnome.org/browse/banshee/commit/?id=9d1ebf928edc793ba240603a3187f081b5d063d8
[3] https://git.gnome.org/browse/banshee/commit/?id=056fb85fb31f90c569c604b3b0968ea1e2df5f1a

Signed-off-by: Andrés G. Aragoneses <knocte@gmail.com>