Add repo shortcuts (github, bitbucket, gitlab)

Adds a github prefixed shortcut and matching bitbucket and gitlab shortcuts. Adds detection and folding of github/bitbucket/gitlab git urls into shortcuts to allow consumers to do special handling without having to special case.
Same for `\+` → `[+]` – is the idea that character sets are less error-prone than direct escaping?