Make Bucket/Blob/_PropertyMixin have "future" functionality

This is relating to a discussion @tseaver and I just had about enabling GET in batches.

Something like

with storage.Batch():
    bucket = storage.get_bucket('foo')
    print bucket.cors
    blob = storage.Blob('bar', bucket=bucket, eager=True)  # See #761 about eager

is not possible because the actual GET which retrieves the bucket happens on the __exit__ of the batch.


We could allow _PropertyMixin objects to act as a future by setting a property (e.g. bucket._is_future = True) and then making getters and setters fail when _is_future == True.