tools: update ci.py to match Gitlab CI pipeline
This change restores and modernizes tools/ci.py to enable developers to run all public CI checks locally, consistent with the current Gitlab CI pipeline.
- Added support for all relevant code-quality checks.
- Integrated product build support using check_build.build_products()
- Added stage-based execution: --stage code-quality, unit-testing, build, or all
Signed-off-by: Mahmoud Elsabbagh mahmoud.elsabbagh@arm.com