Refactoring.
Refactoring.
Code cleaning.
Fix enum.
Refactoring.
Rename test_application_errors to test_application as we do not test errors only.
Add simple test for the command line parser.
Fix a few bugs in the process.