Add support fot SHA1 checksum

This PR adds support for exposing SHA1 checksums instead of MD5 checksums in the downloads page. Major changes are listed below:

- all checksums are now read directly from the $filename.$checksum file instead of being regenerated (CI jobs should perform the `md5sum/sha1sum -c` operation to validate checksums)
- support is added for reading SHA1 checksum and using them in the downloads page
- miscellaneous cleanup is done in `doc_generator.py` and the components `gen.py` scripts

--no-rebase