Add `ul cloud train|predict|export` workflows (#71)

* Add ul cloud train, predict and export workflows

Run YOLO training, inference and export on Ultralytics Platform with the same key=value arguments as the local commands. Local weights and datasets are uploaded, jobs are awaited, and outputs are saved locally with YOLO's own writers.

* Handle optional predict metadata, archive-relative data.yaml, per-call Platform URL

Address review: default class names when classNames is absent and an explicit error when task is absent, drop the local path: key from the archived dataset YAML, and read ULTRALYTICS_PLATFORM_URL per invocation.

* Name the per-image prediction parameter and document name= as the output model name

* Prefer local checkpoints over same-named official weights, resolve model stems, let Platform infer dataset tasks

Address review: an existing local file is uploaded even when it shares a name with official weights, model stems resolve to .pt as in YOLO, and datasets are created without a guessed task because ingest infers it from the labels.

* Restrict cloud export downloads to the output directory

* Handle missing cloud export download metadata

* Validate dataset split paths before cloud packaging

* Allow local inference settings in cloud prediction

* Warn and ignore local-only cloud export options

* Package validation-alias, relative-path, and images-rooted datasets; tolerate empty masks; validate local args before training

* Report an outdated ultralytics install as a controlled cloud workflow error

* Map official weights to public Platform models only when they are hosted

* Keep ul:// model URIs intact when normalizing model stems

* Treat null cfg values as unset so copy-cfg YAMLs keep the workflow defaults

* Archive split paths relative to the dataset root, tolerate a missing ingest status, and report upload failures

* Resolve '../' split values under the dataset root as check_det_dataset does

---------

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>