Cache server prefix; use FNV1-32 if available

Hashing/serialization is expensive, so cache results.
And no reason to use SHA-1 since we simply need uniqueid