Add the ability to upload files to S3
Don't `yield` on non generator functions. Fixes #3908.

Additionally, simplified match logic, replaced 3*`==` by `in`.
Solidify creating buckets with PUT
Add better log messages for S3
Add in documentation for PUT
Add the ability to HEAD an object
Merge pull request #3922 from techhat/s3

Add the ability to upload files to S3
Merge pull request #3923 from s0undt3ch/issues/3908

Don't `yield` on non generator functions. Fixes #3908.