Update database after tags are edited

For some reason nobody updated the database when tags where edited.
Problems:
- When editing many songs the Tagedit dialog stays open longer (which I think is ok).
- If there are calls to TagReaderClient::SaveFile (non blocking) which expect to return really fast we might not return as fast. There are some places where this is called and I could only test Inline Editing which is fine with this change.
- I didn't test CDRip.


This might fix: #4419, #221 but I only looked at the description if this might be what the reports mean.
P.S.: Initially I tried to use NewClosure to call the new function but I couldn't make it work. If somebody wants to take a stab at it, be my guest.
I tried this piece of code:
````c++
NewClosure(reply, SIGNAL(Finished(bool)), this,
                 SLOT(SongSaveComplete(TagReaderReply*, QString&, Song&)),
                 reply, filename, metadata);
````
But this ended just in a SIGABRT in closure.h:154 and closure.h:94. I guess the assert in closure.h:94 is the culprit.
I tried various versions of const and & parameters but I get the same error.

This current code can be found in my [repository](https://github.com/Narfinger/Clementine/) on the branch change-track-in-db-after-tagedit.