Context manager protocol extension

Look back at this post and this post from the original discussion. Both suggest adding some way to return a value from the context manager when the with block is finished, not just when it starts. That’s where the thing with return values is coming from.