Add graceful degradation for Gitaly unavailability
What does this MR do and why?
When Gitaly is unavailable, the blob view now returns 503 with a user-friendly error message while keeping the page layout intact (sidebar, duo bar, etc.) instead of showing a full-screen 500 error.
Introduces HandlesGitalyErrors concern for reuse in other controllers.
Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/591106
Related to #591106
Edited by Paulina Sedlak-Jakubowska
