This moves the menu lookup for tags from the router helper to the actual router. This improves the tag routing a little bit, especially allowing for menu items with more than one tag. However lookup of multi-level tags still doesn't work and would require something like the CategoryNode class for tags, which we don't have and wont have for 4.0.
Testing Instructions
After applying this PR, the generated URLs shouldn't have changed.
Failing unit tests in drone and appveyor are not related to this PR but to the 4.0-dev branch at the time when this PR was created based on it. It will be fixed in the 40-dev branch with #33207 and if that is merged, this PR should be updated to that so we can see if unit tests pass here.
The problem is, that the tags don't use simple IDs, but also arrays of IDs. There is actually a chunk of issues here, but unfortunately out of scope for 4.0.
Failing unit tests in drone and appveyor are not related to this PR but to the 4.0-dev branch at the time when this PR was created based on it. It will be fixed in the 40-dev branch with #33207 and if that is merged, this PR should be updated to that so we can see if unit tests pass here.