When a provider validation only returns a warning, we were cutting the evaltree short by returning an error. This is fine during a `walkValidate` but was causing trouble during `walkPlan` and `walkApply`. fixes #2870