join dedicated-VM instance name tiers with '.' not '--'
Lima's instance-name validator requires single separators (regex ^[A-Za-z0-9]+(?:[._-][A-Za-z0-9]+)*$), so the '--' tier join produced names limactl rejects — dedicated VMs (org/repo targets) were never creatable. Join identity/org/repo with a single '.' instead, parse with split('.', 2) so a repo name containing dots round-trips, and reject identity/org tiers that contain a dot so the codec stays unambiguous. Base-box VMs are unaffected and no migration is needed (the '--' names never existed on disk). Ref #1399.