Replaced the previous enum-based redirection logic with a cleaner, more modular Redirection trait. By abstracting redirection types (stdout, stderr, and their append variants) into dedicated structs, the codebase is significantly more maintainable and easier to extend with new redirection behaviors. This refactor simplifies command execution handling across the shell's internals.

Refactored shell output redirection using a trait-based approach - zhengqunkoo/codecrafters-shell-rust