When a remote Taskfile includes another Taskfile using a directory path
(e.g., `taskfile: ./website`), use fsext.SearchPath to properly resolve
it by searching for Taskfile.yml inside the directory.
This also simplifies the logic by delegating all path resolution to
SearchPath, which handles both file and directory paths.
When no ref is specified in a remote Taskfile URL, go-getter was being
passed ref=HEAD which git interprets as a literal branch name, causing
"Remote branch HEAD not found" errors.
Now we omit the ref parameter entirely when not specified, letting git
clone the remote's default branch.
* feat: redact credentials in remote urls
* chore: improve function naming
* fix: TaskfileNotSecureError should use redacted URI
* feat: unexport all node implementation fields
* fix: unexport HTTPNode.url