Handle renaming on case-insensitive filesystems

A rename will fail on a filesystem that is case-insensitive, if the
filenames only differ by case. Work around this by moving to a temporary
file first, in the case that a rename fails because the target exists.

https://bugzilla.gnome.org/show_bug.cgi?id=737302
Fix memory leak in id3lib buggy check

Free the result string.
Slightly refactor some GList handling in et_core.c

If calling a g_list_*() method, a pointer to the first element in the
list is always returned, so there is no need to additionally call
g_list_first(). Fix GDestroyNotify functions to return void.
Refactor ET_Add_File_To_Artist_Album_File_List()

Use g_return_val_if_fail() to check invariant.
Use GError in FLAC tagging code

Avoid several uses of Log_Print().
Use GError in APE tagging code

Avoid a use of Log_Print().
Use GError in ID3 tagging code

Avoid several uses of Log_Print(), and convert some more into warnings
or debugging messages.
Use GError in MP4 tagging code

Avoid several uses of Log_Print().
Use GError in Ogg header code

Avoid a few Log_Print() calls.