Adding S3 download strategy.

Please comment on completeness (e.g., error checking) and the Ruby style as well as correctness, thanks!