added a kmp implementation for strstr