Fix tests that perform operations on bucket listings.

The cors and lifecycle tests weren't using the Retry decorator like the ls test
was. Even with the ls test, it was possible that other invocations of the test
runner would collide with the bucket names being chosen for the operation. I
added a random prefix to reduce the chance of this happening and also added
the Retry decorator to the cors and lifecycle tests.
Change shebang line back to python because this doesn't work on some systems.