Add support for uppercase sha1 url arguments
url with sha1 in uppercase (or mixed upper-lower case) was gives 404.
Convert snapshot_id to snapshot_id.lower(), so that SHA1 remains lowercase consistently. I will also work with SHA1 with mixed upper and lower cases.
Related #1505 (closed)
Currently passing a sha1 as url argument to the webapp endpoints works only if it is in lowercase form. If a sha1 is passed in uppercase form, we end up in a 404 error page (see [1] for instance).
For commodity of use, we should support passing sha1s in uppercase form but also with mixed uppercase and lowercase parts.
Redirecting to the lowercase sha1 endpoints when such cases are encountered seems the right way to implement this.
[1] https://archive.softwareheritage.org/browse/snapshot/1A8893E6A86F444E8BE8E7BDA6CB34FB1735A00E/
Migrated from D1290 (view on Phabricator)