Implement cross-project Markdown references

Enable linking to commits, merge requests, and issues in other projects
by prepending a namespaced project path to the reference.
Fix ReferenceExtractor

The cross-project reference feature broke the ReferenceExtractor class;
this fixes it.
Track projects in ReferenceExtractor

Store both the project and identifier of extracted references.  This
prevents `ReferenceExtractor` from returning objects in the wrong
project for cross-project references.
Make Mentionables work for cross-project refs

Add a note to merge requests and issues when they're mentioned by a
merge request, issue, or commit in another project.
Fix external issue links

Display the project path in links to issues in other projects that use
an external issue tracker.
Fix external commit links

Display the '@' character for links to commits in other projects.
Fix cross-project reference test

Test for the correct link text in cross-project references.
Merge pull request #7933 from mr-vinn/cross-project-markdown

Implement cross-project Markdown references