[FIXED JENKINS-22828] Expect an AbstractProject for input validation.

Input validation leads to wrong validation in case of a Cloudbees Templates plugin/Cloudbees Folders plugin combination, because the `getParent()` of the `@AncestorInPath AbstractItem` doesn't have to be the current `AbstractProject`'s `getParent()`.

### Steps to reproduce

1. Create a folder `/F`
1. Create a freestyle job `/F/fs`
1. Create a job template `/templ` with an *Heterogeneous components from descriptor* attribute, use `hudson.tasks.Builder` as class. Use `/F/fs` as base for the Groovy transformation, but don't add any code (unnecessary).
1. Create a job based on `/templ` named `/F/templ-inst`.
1. Add a Copy Artifact build step. Enter `fs` as (relative) source project path.

### Expected results

Valid input.

### Actual results

> No such project 'fs'. Did you mean 'fs'?

### Notes

Using `AbstractProject` since that's used a few lines down for finding the recommendation.