Fix launching an external application

Only display a warning if the program name is empty. Move the status bar
message printed on successful program execution to EtBrowser.
Return a GError when launching external programs

Consistently return a GError when reporting failures to launch external
applications, and allow the calling code to show the error to the user
as necessary.
Read DSF header information

https://bugzilla.gnome.org/show_bug.cgi?id=708368
Read ID3v2 tags from DSF files

Split off a helper et_id3tag_fill_file_tag_from_id3tag() function from
id3tag_read_file_tag() and use it to read the parsed id3_tag struct. Add
a private header to share some defines between the header and tag
reading code.

https://bugzilla.gnome.org/show_bug.cgi?id=708368
Write ID3v2.4 tags to DSF files

https://bugzilla.gnome.org/show_bug.cgi?id=708368
Write ID3v2.3 tags to DSF files

https://bugzilla.gnome.org/show_bug.cgi?id=708368
Move private ID3 functions into a separate header
Strip additional ID3 date fields while saving

Ensure that the year field in the UI is the only date field saved to an
ID3v2.3 tag.