Fix underflow bug in core::str::Searcher::new for haystacks of length < 20
Add a test for the fix of issue 16589
auto merge of #16590 : nham/rust/str_searcher_underflow, r=alexcrichton

This incidentally fixes #16589, because it will cause `MatchIndices` to use `NaiveSearcher` instead of `TwoWaySearcher`, but I'm not sure #16589 should be closed until the underlying problem in `TwoWaySearcher` is found.