Add support for fingerprint-gui's polkit agent.

Closes #5880.
Merge remote-tracking branch 'refs/remotes/ivan/feature/add-fingerprint-gui-polkit-support' 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.
Send the flag module values to the processes.

Add serialize/deserialize to dict helper.
Remove twisted stopper from the GUI.
Handle SIGINT/SIGTERM in processes.
Add file docstrings.