Don't skip a full match if recursive is not set

puppet ls would decide it needed the -r flag if provided with a
full path to a file that in fact does get managed by puppet. Extra check
if maybe we can match the full path before bailing out without -r.
Fixes #4