blafm.py: improve handling of socket errors

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blafm.py: refactor networking exception handling

This commit attempts to make exception handling in network code a little
more robust. This was previously very fragile and would easily break if
a remote host was unresponsive. In addition, we now let all network
requests time out after five seconds which fixes issues with the event
and releases browser. These would previously become unusable when the
requests to the last.fm web API would never return.

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blafm.py: use a proper queue for scrobbling

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
BlaThread: defer filtering of dead threads

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Update TODO list

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blametadata.py: fix a few coding style issues

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>