shell: refactor shell_parse into smaller functions
Extract the large __repl_entry_shell_parse function (~425 lines) into
focused helper functions:
- _push_nonempty!, _consume_upto!, _append_word!: small utilities
- _redirect_word_expr: convert word parts to redirect filename expr
- _parse_dollar_interp: parse $ interpolation (was closure)
- _RedirectState + _reset_redirect!: bundle 6 redirect variables
- _finalize_word!: deduplicate word/redirect completion (was 3 copies)
- _save_pipeline_segment!: save pipeline segment and reset state
- _parse_tilde!: tilde expansion (~, ~user, ~$var)
- _parse_brace_alts!: comma-separated brace alternatives sub-parser
- _parse_brace!: brace expansion dispatch (range, comma, literal)
- _build_seg_expr + _build_pipeline_expr: expression assembly
The main function shrinks from ~425 to ~130 lines.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>