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.  This is a suggestion from [feeback.gitlab.com](http://feedback.gitlab.com/forums/176466-general/suggestions/4677198-allow-cross-repo-issue-merge-request-reference).

#### Examples
* `namespace/project#123` : for issues
* `namespace/project!123` : for merge requests
* `namespace/project@1234567` : for commits
Use def with parentheses when there are parameters.