Support GFM references for PersonalSnippets
### Problem to solve
There are two aspects to this problem:
* [GFM References](https://docs.gitlab.com/ee/user/markdown.html#special-gitlab-references) are not currently supported/working in PersonalSnippets due to how the reference filters are implemented.
It is currently implemented to assume a "parent" resource to be either a Group or Project, which is not the case for PersonalSnippets, which have a User parent. This results in references being skipped and not processed.
This needs to be addressed to bring them inline with the behaviour in other areas of GitLab, in particular, ProjectSnippets, which have a Project parent and so work as intended.
* Linking to PersonalSnippets in _other_ resources does not generate GFM reference links to the _snippet_
### Proposal
To address this, we can take the following steps:
* Refactor the `AbstractReferenceFilter` class to be aware of a new parent context, User
* Refactor the PreviewMarkdown implementation for PersonalSnippets to be for a 'member', so we have access to the PersonalSnippet author (User)
* Perform a background migration to re-process PersonalSnippet notes and descriptions to generate the correct references
* Refactor the `SnippetReferenceFilter` to support both Project and Personal Snippets (for the second point, above)
### Availability and Testing
In order to provide users with a consistent experience (e.g. between submitting and previewing a comment), we should implement these changes behind the feature flag `:personal_snippet_reference_filters`. This can be removed once the associated issues have been completed.
### Screenshots
The following are a few screenshots that demonstrate the problems described above:
References made in PersonalSnippets:

Link to PersonalSnippet in an Issue:

epic