boto/boto — pull request #1251 by jterrace (2013-01-17 22:16:12+00:00)
Title: Added generation and metageneration conditionals to set_* key functions.

* Adds two new parameters, if_generation and if_metageneration, to Key.set_contents_from_* methods and Bucket.set_acl.
* Adds tests for new if_generation and if_metageneration parameters.
* Refactored common test case functionality into a base class to avoid all the copy/pasting.
* Added retry logic to test case tearDown function to mask 503 errors during bucket/object deletions, ensuring that tests (almost) always clean up after themselves.