Fix bucket tests not failing

The  `test_bucket_get_put_delete` was not failing (in the correct place):

    try:
       self.tester.create_bucket(bad_bucket)
       should_fail = True
       ...
       if should_fail:
            fail("Should have caught exception...")
    except:
        self.tester.debug("Correctly caught the exception...")

This is because `fail` throws `AssertionError` - which is then happily caught with "Correctly caught the exception.."

Other thing here is the fix for deleting the bucket, if it was created. This tried to delete the bucket with the name of it, but `tester.delete_bucket()` eats bucket objects instead. 

Was a good opportunity also to get rid of some code duplication.