UGameFrameworkComponent - GetGameInstance on EndPlay while destroying

Hey again, after discussing internally our preference is to keep these as ensures but with an improved message.

Instead, the contract for FComponentRequestHandle will be that if you register a modular feature (AddComponentRequest, AddExtensionHandler) and you store the returned TSharedPtr<FComponentRequestHandle>, you must also clear that pointer before the app shuts down so before GameInstance and World become invalid. We’ll keep the ensure there to enforce good practices, but I’ll add more comments including that expectation that the dev should clean the pointer up. I hope this decision is understandable.