echonest_tempo: catch socket.error
convert: fix unicode error in path construction

I introduced a regression a few commits ago when I started using
lib.destination with the basedir keyword argument as opposed to doing
os.path.join manually.