Maintain children inverse when parent property changes
`tsk prop set <id> parent [[tsk-X]]` now wires up the reverse half:
the new parent gets `[[tsk-id]]` appended to its `children` property
(comma-separated link list). Re-parenting moves the entry; unsetting
removes it; deleting the only child clears the property entirely.
Guards:
- self-parent rejected
- cycles rejected (walks up the parent chain from the proposed parent)
Non-link values for `parent` are stored as-is with no inverse
maintenance, since there's nothing to point back at. Foreign-link
parents (`[[ns/tsk-N]]`) intentionally don't trigger the inverse —
the bidirectional invariant only makes sense intra-namespace.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>