peel: reject bad queries with EPEEL

There are some combination of objects and target types which we know
cannot be fulfilled. Return EPEEL for those to signify that there is a
mismatch in the user-provided data and what the object model is capable
of satisfying.

This should resolve #2627.
Shouldn't we also add a test with `GIT_OBJ_ANY` here as well?