fix(lint): restructure cookeio tests, resolve E330
- Move test code from test.ml to test_cookeio.ml (test.ml is runner only)
- Each test is a standalone `let test_foo () = ...` with Eio_main.run
- Replace Str with Re for contains_substring helper
- Remove inline test lambdas from suite definition
- Add test_cookeio.mli with standard suite type