Add git fetch strategy and pre_get_sources_script hook
Enable GIT_STRATEGY: fetch to reduce GitLab server load by reusing workspace between jobs. Add pre_get_sources_script hook to fix corrupt git state left by cancelled pipelines. See GitLab #296638, #4600