Update Tagfetcher about changes in TrackInfo and vice versa

https://bugs.launchpad.net/mixxx/+bug/1349173

This also updates the API of dlgtagfetcher to be similar to the dlgtrackinfo API
Yeah we could also emit a signal when we set the track dirty.  But these changes here would send the same signal several time and call the update functions several times.

Can we make a signal connection so that we only react once to the signal during an event-loop, no matter how often it is emitted?