Support ID-based repository URIs, and canonicalize repository URIs
Summary:
Ref T4245. Make /diffusion/123/ work, but redirect the user to /diffusion/XYZ/ if the repository has a callsign.
(Right now, every repository has a callsign, so this always redirects.)
Also redirect /R123:abcdef if the repository has a callsign.
Also also, move the Pull garbage collector somewhere more sensible.
Test Plan:
- Added test coverage.
- Visited /diffusion/1/, was redirected.
- Visited /diffusion/R1:abcdef, was redirected.
- Browsed Diffusion normally.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T4245
Differential Revision: https://secure.phabricator.com/D15301