Avoid truncating Vorbis file when saving tags

Rather than writing to the same Vorbis file that tags are being read
from, and thus truncating the file while saving changed tags, write to a
GMemoryOutputStream and then replace the on-disk contents with the
memory stream once it has been completely written.

https://bugzilla.gnome.org/show_bug.cgi?id=721351