Add tests to check that the runner executable can find itself
A community MR to fix #3052 (closed) contained a simple change to change the shell executor to use the base command instead of the full absolute path for finding itself: https://gitlab.com/gitlab-org/gitlab-runner/blob/fca7768f67aaae0de69eceac0fd2ed90f6ced6b5/executors/shell/executor_shell.go#L136
Unfortunately this both passed the CI pipeline but, had it been merged, would have broke functionality within the runner (testing locally it broke the ability to upload artifacts).
Testing that the runner can either find its own executable or otherwise has the prerequisites to upload artifacts seems like a scary omission.