Make heuristic match skipping more aggressive.

This is the Go equivalent of an algorithmic change in the C++ snappy
code:
https://github.com/google/snappy/commit/d53de18799418e113e44444252a39b12a0e4e0cc

The discussion is at:
https://groups.google.com/d/topic/snappy-compression/3Qa3fASLkNA/discussion

benchmark                     old MB/s     new MB/s     speedup
BenchmarkWordsEncode1e1-8     680.57       679.12       1.00x
BenchmarkWordsEncode1e2-8     49.90        49.65        0.99x
BenchmarkWordsEncode1e3-8     213.28       212.75       1.00x
BenchmarkWordsEncode1e4-8     247.05       245.76       0.99x
BenchmarkWordsEncode1e5-8     180.68       179.95       1.00x
BenchmarkWordsEncode1e6-8     205.65       204.83       1.00x
BenchmarkRandomEncode-8       5678.83      11217.33     1.98x
Benchmark_ZFlat0-8            422.83       423.18       1.00x
Benchmark_ZFlat1-8            269.60       271.01       1.01x
Benchmark_ZFlat2-8            5517.16      11517.40     2.09x
Benchmark_ZFlat3-8            92.47        92.39        1.00x
Benchmark_ZFlat4-8            954.63       2947.73      3.09x
Benchmark_ZFlat5-8            419.71       419.87       1.00x
Benchmark_ZFlat6-8            184.13       183.45       1.00x
Benchmark_ZFlat7-8            175.83       175.89       1.00x
Benchmark_ZFlat8-8            193.49       193.84       1.00x
Benchmark_ZFlat9-8            169.02       168.59       1.00x
Benchmark_ZFlat10-8           500.19       499.85       1.00x
Benchmark_ZFlat11-8           271.20       270.60       1.00x
4 files changed