Move pre-commit check in its own stage
This is a preliminary implementation of an "optimisation" of the current pipeline.
It's implemented to in a way that takes into account the issue already tackled by !285 (closed).
The goal here is to add a new stage to the pipeline that is responsible for the QA of the code sent.
This will allow the pipeline to fail early on rather than run each and every variation of the build to have them fail for the same reasons. Using such a stage can also remove the quality checks in every build job as it is done prior to that.
This should allow to improve the nightlies build time a bit since the QA would be done once per package rather than once per build job.