Support scp-style URLs in pull and push mirroring
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=18993)
</details>
<!--IssueSummary end-->
The following discussion from gitlab-ee!2551 should be addressed:
- [ ] @DouweM started a [discussion](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2551#note_36342946): (+4 comments)
> How hard would it be to support the `git@gitlab.com:gitlab-org/gitlab-ee.git` syntax too? I think that if we don't support that, we'll get a lot of support requests about "invalid URL" errors :)
We can transform the URL to be well-formed in the frontend or backend and store as `ssh://...`, or we can accept scp-style URLs and store them as-is.
The URLs end up being written to a `.git/config` file as we set up a remote for each mirror, so either approach would work.
Currently, attempts to use scp-style URLs give a 500 error and an exception message like: `Addressable::URI::InvalidURIError: Invalid port number`
issue