Stable polyfill to be able to depends on a trait that mimics `str::pattern::Pattern` on stable Rust.
```rust
fn starts_and_ends_with(haystack: &str, p: impl IntoSearchable + Clone) -> bool {
}
assert!(starts_and_ends_with("aa bb aa", "aa"));
assert!(starts_and_ends_with("aa bb aa", 'a'));
assert!(starts_and_ends_with("aa bb cc", ['a','c']));
assert!(starts_and_ends_with("\t bb \n", WhiteSpace));
```