Accept `hash` function as a named parameter

A hash function can be given as a parameter in order to specify how
key values (as strings) are converted into numbers (than can then be
divided into the different test buckets). This overrides the global
configuration setting.