Refactor the desktop file icon loading code
Refactor the desktop file icon loading code

Using the old logic we could have created a LOCAL icon with just the name set,
which is further confused by using LOCAL for the fallback name case.

Fixes half of https://github.com/hughsie/appstream-glib/pull/128

hughsie/appstream-glib,hughsie/appstream-glib,ximion/appstream-glib,ximion/appstream-glib,ximion/appstream-glib,hughsie/appstream-glib