Implement ownership demos driven by stdin mode.
Modes (first token of stdin):
- move — show a move (Rust: String move; C: pointer handoff)
- copy — show a Copy-type duplicate (integers)
- borrow — show non-owning access (Rust: &String; C: pointer without free)
- all — run move, copy, borrow then print the final summary line
Exact output lines are fixed by the sample and hidden tests. Do not print extra text.
Success criteria:
- Correct line-for-line stdout for every mode
- Rust: use real moves/borrows (not .clone() unless needed)
- C: free only the final owner of heap memory