Rework the classic hasher to reduce lock contention and CPU usage.
Rework the classic hasher to reduce lock contention and CPU usage.

Make nbuckets=nhash mandatory.

Order hash lists by the length of key instead of the key contents,
comparing the length is much faster.

Also compare disgest before we take the expensive content compare.

Use memcmp() for content compare instead of strcmp().

Use a two-pass algorithm for inserts to lower mutex contention.



git-svn-id: 7d4b18ab7d176792635d6a7a77dd8cbbea8e8daa@884 d4fa192b-c00b-0410-8231-f00ffab90ce4

wikimedia/operations-debs-varnish,ssm/pkg-varnish,wikimedia/operations-debs-varnish,ssm/pkg-varnish,CartoDB/Varnish-Cache,ssm/pkg-varnish,wikimedia/operations-debs-varnish,wikimedia/operations-debs-varnish,wikimedia/operations-debs-varnish,ssm/pkg-varnish,CartoDB/Varnish-Cache,ssm/pkg-varnish,CartoDB/Varnish-Cache