Fixes issue #7
Adds helper functions prototypes

The non-member functions didn't have prototypes.
Enhance the loading of a .desktop file.

It allows to load a file without using XdgDesktopFileCache. The file
can be an absolute path or an relative one. Relative search paths are:
XdgDirs::dataDirs()/applications and  XdgDirs::XdgDataHome()/applications.

XdgDesktopFileCache loads the all cache at one. It speeds up subsequent
calls but the cache initialization hurts performance when the user only
wants to load a few files.

It makes lxde/lxqt-panel@e68d738cedd4b84fcca9756bbcd8dfbafa628261 workaround
not needed anymore.

Closes #37
XdgDesktopFileCache::getFile(): Don't insert/removes non existent files

We have to check if fileName really exists. Fixes #39.