Add Rabin-Karp
Add tests (ugly code.) Sync commit