fnv1a_hashpos: fix calculation of 16-bits hash

Use the xor-folding method suggested by the original authors to
downsample the 32-bits hash to a 16-bits one.
add some docu
any_of: compute FNV1a correctly with 32-bits integers

Since it is barely imaginable that we'd ever need more than 32-bits
integer space for target servers -- in fact, an unsigned short (65535)
already is way over the limit -- we can stick with the 32-bits FNV1a
constants, but must make sure we use 32-bits integers as well (not
size_t/long).  Because we must calculate a mod with a equal or less than
number, trim down the anyof count field to a short, as it should be more
than enough.
anyof: revise the fnv1a hash usage a bit

Simplify how we calculate the next server.