Use preferred provider on first run. Closes #5813.
Code style fixes.
Add changes file for #5813.
Merge remote-tracking branch 'refs/remotes/ivan/feature/5813_wizard-providers-order' into develop
Add packaging for osx with py2app
Add bitmask.icns file
Merge remote-tracking branch 'chiiph/feature/package_osx_py2app' into develop
Separate app.py and frontend_app.py logics.

This prepares the scenario to run the frontend and the backend in
different processes.
Add base communication framework.
Add API/SIGNALs definition.
Add license headers.
Use new frontend/backend structure in LEAP implementation.
Use new backend/signaler and start logic in processes.
Properly stop backend.
Lowercase signals names.
Do backend calls using kwargs.
Add SIGINT handler.
Add missing error/passed keys.
Move the backend starter to its own file.
Ask the backend for the country code.

Remove global variable in favor of a helper method that returns the
country code.
Needed in order to split backend/frontend.