Add install and detect if desktop file in launcher

* Install them in XDG_DATA_DIR/applications
* Add tests to support those different cases, including schema not available.
* Reshape a little bit the XDG_* file changes and adapt existing files for
  that.
Reshape tests to use xdg dir changes functionality
Restore the rmtree for temp dir in tests