This commit adds optional support for allowing .zip files containing Cookiecutter project templates to be stored and accessed via S3. In short, project templates can be stored in a private S3 bucket instead of having to be publically available at an HTTP(S) endpoint. This support is achieved by using pre-signed S3 URLs, so that the mechanism for retrieving files from S3 is not dramatically different from downloading a file via HTTP(S), as is currently done.
Support for this feature is optional, since it requires the boto3 library, so this commit also adds an "s3" extra as an installation option. Support can be enabled by installing Cookiecutter using
$ pip install cookiecutter[s3]