Don't inline GetTaskForResult when await'ing ValueTask
When await'ing a ValueTask, we should only ever end up calling AwaitUnsafeOnCompleted when the ValueTask wraps a non-null _task; if its _task were null, IsCompleted would have returned true due to treating the _result as the successful result. However, the value task's AsTask() is currently used via an inlined interface invocation in AwaitUnsafeOnCompleted to get the _task from the ValueTask, and AsTask ends up inlining the _task==null branch that inlines AsyncTaskMethodBuilder'1.GetTaskForResult, which ends up bloating the asm unnecessarily. We can simply change the interface implementation used by AwaitUnsafeOnCompleted to not inline GetTaskForResult. In a simple example, this cuts the asm for AwaitUnsafeOnCompleted by ~50%.