Regular expressions & prop to bring back a better `String::has(Pattern)`

As asked by everyone...

`String::has(Pattern)` is much faster than `String::index_of(Pattern)` with regex. It can be optimized even more with `optimize_is_in`.

I'll be waiting after the test to make sure that it doesn't break anything.

What do you think of the doc/tests on the protected methods? I don't have any info to add, only tests and `requires`.

The only TODO would be to implement subexpressions; to get the the substrings of the parenthetical subexpressions of a single match. It is not the most common use but could be useful in some compilers.
1. c'est pas mal la base en nit
2. la doc parle de truc privés mais si non générée avec `--private`, elle ne contient aucune info sur les trucs privés

Donc le truc que je vois c'est que tout le monde va se jeter sur l'API privée pour savoir ce qu'on peut faire avec... Deux fixes possibles: retirer la ligne ou expliquer ce qu'il y a à gagner avec les trucs privés.