Fix two memory leaks in CDDB dialog

Store a pointer to the start of the GLists, so that the lists can be
freed later.
Refactor some CDDB dialog code to use GString

Avoid a memory leak in error paths, and use GString to simplify the code
a little.
Avoid a memory leak of the disc ID in error paths
Propagate double-click events on tree view headers

Receiving a double-click event on a tree view is not a good indicator of
whether to change the selection, as the event could have occurred on the
column headers, resulting in the header resizing and the selection
changing simultaneously. Avoid the problem by checking that the
double-click event is in the bin window, and ignoring (and propagating)
it otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=738830