refactor: deduplicate code, add planningPaths helper, annotate empty catches
Code quality refactoring across 9 lib modules:
1. state.cjs: Remove duplicate stateExtractField() definition (lines 12
vs 184). Replace 3 inline regex escape patterns with escapeRegex()
from core.cjs. Add getStatePath() local helper for the 15 repeated
statePath declarations. Import planningPaths from core.
2. core.cjs: Add planningPaths(cwd) helper returning an object with all
common .planning paths (state, roadmap, project, config, phases,
requirements). Add planningDir(cwd) shorthand. Export both.
3. init.cjs: Replace Unix-only execSync('find . | grep | head') with
cross-platform fs.readdirSync recursive walk for code file detection.
Remove unused child_process import. Fixes Windows compatibility.
4. All lib modules: Annotate 48 empty catch blocks with
/* intentionally empty */ to distinguish deliberate error swallowing
from accidental missing handlers. Affected: commands.cjs (8),
config.cjs (1), core.cjs (4), init.cjs (13), milestone.cjs (3),
phase.cjs (6), roadmap.cjs (1), state.cjs (3), verify.cjs (9).
All 755 tests pass.