- Update Makefile:
- Change test binary name to `libicmp.test`.
- Add `-Wpedantic` and `-Wconversion` to global CFLAGS for stricter
warnings.
- Add dedicated `TEST_CFLAGS`.
- Ensure test build uses `TEST_CFLAGS`.
- Refactor code for better correctness.
BREAKING CHANGE: Test binary is now named `libicmp.test` instead of
`test.out` and stricter compiler flags may trigger new warnings or
errors in code outside this patch.