fix(lint): resolve E617 suite naming and E605 missing test files
Fix E617 by renaming test suite names to match filenames (remove 'u'
prefix in btree/cbort, lowercase in cgr). Fix E605 by extracting
cache tests into test_cache.ml and adding test_outgoing.ml stub.
Improve e605 rule to generically handle any source directory instead
of hardcoding lib/src/proto — non-standard dirs are preserved under
test/ (e.g. proto/foo.ml -> test/proto/test_foo.ml).