Tidying and fixes

Collect certificates in a subdirectory when fetching.
Provide more informative error messages for a particular error case.
Add Python requirements.txt