hash: implemented cyclic poly

I also added the benchmark code. Rabin-Karp is slightly faster probably,
because it doesn't require a memory lookup.

To make it faster I will modify the Roller interface to contain a single
function Hashes and remove ComputeHashes.