Due to eager_exclude, Sphinx jobs cannot use the doc cache (doctrees).
PDF and HTML building are now seperate CI jobs to avoid this issue.
PDF building will only be ran on deploy branches and when started
with build_docs tag to reduce CI load
The deploy_docs_preview used to be in the last stage (deploy), which is
later than the post_check. However the label check in the post_check
stage will fail when build_docs is used without regular test. Move the
deploy_docs_preview to new earlier stage (test_deploy) to fix this.
Also move related job `clang_tidy_deploy` there.