Fixes an off-by-one in sm-kr.

There was a off-by-one error in the second for loop of the kr_matchall in the string matching functions.
Fixes a bug with seek in buffered IO.

A bug with the iobuf_lseek functions has been fixed and these
functions have been optimized so the underlying lseek syscall
may be avoided in most cases.
Removes the string matching functions.

The implementation of the Karp-Rabin algorithm performed worse than the
libc strstr implementation in the average case. So we use that last
implementation instead.