Do not drop the milestone slug in the URI of a 404
Summary:
Since rP70053bee and the followup fix in rP972788b8, Phorge does not generate slugs for milestones.
Users however can set an alternative slug for a milestone which can be used for typeahead autocompletion (writing `#alternative-milestone-slug` in a text field) but not to access a milestone by constructing an URI like `http://phorge.localhost/tag/alternative-milestone-slug/`.
Phorge correctly returns a 404 but also confusingly rewrites the URI to `http://phorge.localhost/tag//` as we have a valid `$slug` but our `$primary_slug` is `null`, and `$primary_uri = "/tag/{$primary_slug}/"` rewrites the URI accordingly. Instead, just keep the URI and throw an explicit 404.
Closes T15547
Test Plan: See the list of steps in T15547, look at the resulting URI.
Reviewers: O1 Blessed Committers, valerio.bozzolan
Reviewed By: O1 Blessed Committers, valerio.bozzolan
Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno
Maniphest Tasks: T15547
Differential Revision: https://we.phorge.it/D26124