New try: s3 overwrite and checksum support

Hi

Here goes, a pull request from a separate branch without any merges in history.

Original pull request: https://github.com/ansible/ansible/pull/2538

Thanks for your patience!
/Magnus