Fix skipping over ID3v2 tags in Ogg files

According to the documentation for ogg_sync_pageout(), a return value of
-1 means that bytes were skipped, and so it is fine to continue reading.
Fixes writing to Ogg files where an ID3v2 tag is present.

https://bugzilla.gnome.org/show_bug.cgi?id=739748
Do not warn about ID3v2 tags when saving Ogg files

The Ogg tag writing code can handle ID3v2 tags without problems, and a
warning is already logged when reading the file, so warning again when
saving is not helpful.
Refactor Ogg file ID3v2 skipping logic

Mark the Ogg file as modified while reading, if it has an ID3v2 tag, as
it will be removed while saving. Remove a double unref of the input
stream in an error path. Tidy up several obsolete seeks.
Fix double unref when opening an invalid Ogg file