src: remove clients of protected Pattern methods

Use the public API in String instead.
Eg. `String::search` instead of `Pattern::search_in`

Signed-off-by: Jean Privat <jean@pryen.org>
lib/string_search: make all introdiced method of Pattern protected

Because they are inherited by String and Char, they could confuse
the user that look at these classes the documentation.

Signed-off-by: Jean Privat <jean@pryen.org>
model: fix visibility total order

How could intrude == public and private == none?

Signed-off-by: Jean Privat <jean@pryen.org>
src/typing: fix error message of protected method usage

The removed part should have come from some old debugging.

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update base_attr3

updates ate related to fixed visibility and the new error message of protected access

Signed-off-by: Jean Privat <jean@pryen.org>
tests: extends `base_prot` to check more visibility configuration

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update nitmetrics

Because public things are different (not correct) I think.

Signed-off-by: Jean Privat <jean@pryen.org>