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.
J'ai un dilemme...

* Soit je te dis que tu pourrais faire un synopsis sur une ligne avec un complément sur les lignes suivantes.
   
   Genre:

       # Treat the pattern as an extended regular expression (the default).
       # 
       # The pattern will be treated as an extended regular expression rather than a basic regular expression
       # SEE: la-page-qui-explique-la-difference

* Soit je plaide pour autoriser les synopsis multi-lignes.

  Histoire de pas se retrouver tronqué par GitHub.

Mais j'avoue que les multiples listes qu'on peut trouver dans la doc aiment bien pouvoir afficher la short doc sur une ligne. Non pas que je sois si faignant que ça mais ça fait au moins 2 règles CSS à écrire... 

Le synopsis court sur une ligne force tout de même à la concision. Il risque d'ailleurs de se retrouver préfixé par un titre de niveau 1. On dirait bien que Jean avait (encore) raison... et m****...