implemented kmp, documeneted kmp, added tests for kmp, wrote description of kmp