TagList is now immuable, copy to local dict first.
Append a random string to temporary filename to avoid colisions.
Fix lp:1357597, thanks Evert.