cli: Return relevant exit code
requested to merge feature/6_import_export_puzzle/cli_exit_codes into feature/6_import_export_puzzle/main
CLI error exit code were not reported for the most part, this MR fixes this with a simple global error state updated by presenters and read by controllers.
Unrelated: Updated dependencies.
Edited by Antoine Belvire