Optional s3 sync flag to address https://github.com/aws/aws-cli/issues/599

Implements an optional `--exact-timestamps` flag for the `aws s3 sync` operation. This flag provides a workaround for one of the issues described in https://github.com/aws/aws-cli/issues/599: failure to synchronize same-sized files when a newer version exists in S3. With this flag set, files will be synchronized unless the local and S3 timestamps match exactly.

This is essentially an implementation of the first Proposed Solution described in https://github.com/aws/aws-cli/issues/599, but implemented as an optional feature as opposed to changing default behavior:

>Change the time checks to be a strict equality comparison. If the times are different, we sync. This has the issue that aws s3 sync local s3://bucket && aws s3 s3://bucket local will unnecessarily sync files. However, when we download a file, we set the mtime of the file to match the LastModified time so if you were to run aws s3 sync s3://bucket local again, it would not sync any files.