v0.5.0 — Spinner, timeout, CI output structure

- Animated braille spinner + elapsed time for running tasks
- Configurable per-task timeout with interactive continue prompt
- Cache-hit indicator (↩ cached) in progress tree
- Structured plain/CI output: ──> started / ─── PASSED/FAILED fences
- Process-group kill on timeout (fixes orphaned child processes)
- pytest classic output style (no percentage column)
- Fixed Python 2-style except clause in executor

See CHANGELOG.md for the full list of changes.