- Add FLAG_DONT_FRAGMENT flag and cli_handle_dont_fragment handler
- Register -M/--dont-fragment option in the X-macro option table
- Apply DF bit via icmp_set_dont_fragment() before ping loop
- Expand error output: table-driven ICMP error messages and dedicated
frag-needed output with next-hop MTU
- Add STATIC_ARRAY_FOREACH / COUNT_OF macros to compiler.h
- Move CLI internal headers to `includes/internal/cli/`
- Split CLI handler and parsing declarations across dedicated internal headers
- Move handler map to `option_map.c` and properly update references
- Relocate CLI utility source and test files from `utils` to `parse_utils`
- Refactor `cli.h` to only expose the public interface, move internal
typedefs/functions out
- Update build system: add conditional git commit detection