Prepare to replace any(<genexpr>) bottleneck with Knuth-Morris-Pratt

Also checking-in profile report how it is before Knuth-Morris-Pratt
Switch to KMT algorithm and run profiling for
Switching back to any(<genexpr>)

Apparently, KMP does two times worse than _contains() with
any(<genexpr>)
Give more meaningful name to profiling reports dir/files
range() to xrange() replacement gives +10% profiling bonus

misc syntax fix