Boyer-Moore strstr and Galil rule

Turns out this algorithm isn't any faster. Oh well.

The PR does make things faster though, by using madvise() and posix_fadvise() to tell the OS to aggressively read-ahead. Also, there are minor cleanup things.