Merge dnscache siphash patch

This patch adds support for a new 'SipHash' hashing algorithm which
is less prone to the hash collisions than the earlier deterministic
'djb33' function. 'SipHash' is a fast, pseudo random function. It
uses 128 bit key and outputs 64 bit values. It provides protection
against intentional hash flooding and DoS via hash collision attacks.

Thanks to Mr Frank Denis for creating this patch and for making it
available for all.
  -> https://00f.net/2012/06/26/dnscache-poisoning-and-siphash/