feat(touch): wire -a/-m/-r/-t/-d and fix default mode
Implements GNU coreutils compatibility for touch:
- -a only sets atime (preserves mtime)
- -m only sets mtime (preserves atime)
- -r ref stats reference and applies times to target
- -t [[CC]YY]MMDDhhmm[.SS] full parser; POSIX YY window
00-68 -> 2000s, 69-99 -> 1900s
- -d accepts RFC3339Nano/RFC3339, POSIX-strict
YYYY-MM-DDThh:mm:SS, and looser space-separated forms
- Default file creation mode is 0o666 & ~0o022 = 0o644
(was hardcoded 0o644)
billy.FileInfo lacks separate atime exposure; preserved
side falls back to ModTime, documented inline.
Refs: docs/posix2018/CONFORMANCE.md
Assisted-by: Claude Opus 4.7 via Claude Code
Signed-off-by: Xe Iaso <me@xeiaso.net>