Makefile: Use -pedantic-errors instead of -pedantic
Makefile: Add linting as part of compilation
Makefile: Make linting optional but enabled by default, make LINTING=no to disable
Makefile: Make linting disabled by default
Main: Rewrite
Main: remove struct _retcode and keep retcode alias