Add retry logic to closing S3 multipart uploads.

Looks good :+1: 

BUT I'd like to point out that this is a situation where named return parameters is actually useful. You wouldn't need to use this `finalError` voodoo, you could just return as soon as err != nil.