widgets/mpd: free connection on error and in the cleanup handler

It appears impossible to detect if it's safe to free the mpd connection,
this commits reverts the cleanup to freeing the connection on error, and
in the thread cleanup handler. This resolves the issue of double-freeing
the connection.

Fixes #54