Boyer-Moore string searching algorithm