Plan C is to add a per hash flag to say if the flag is using a non-standard
hash function. This defaults to off (ie standard hash function).
So normally nothing extra happens (except for 1 extra flag check)
Any hash that is flagged as non-standard hashing throws away any passed in
pre-computed hash, and rehashes using the custom function. (which will be
the same for all custom hashes - the algorithm as of 5.8.1 with the random
seed). All this rehashing happens entirely in hv.o, so we have plan A
behaviour there.