Artifacts may contain other files types, not just YAML files, meaning the
semantic YAML diff provided by `dyff` is not a safe default.
This change implements purely textual diffing using the `diff` command line
tool. This tool can be overridden by users using the `FLUX_EXTERNAL_DIFF`
environment variable.
Users that store Kubernetes resource manifests in the artifact can re-enable
the semantic YAML diff behavior using the `--semantic-diff yaml` flag.
The arguments to the diff subcommand may be:
* A directory
* A .tar.gz or .tgz file
* An OCI url
* An individual file
The two arguments to the command are treated the same way, allowing users to
diff in either direction.
Signed-off-by: Florian Forster <fforster@gitlab.com>