fair_queue: allow for passing more complex parameters
fair_queue: allow for passing more complex parameters

The fair_queue constructor currently takes a capacity and an optional
tau. We are about to add more parameters to the queue, so wrap them in
a struct.

While we do that, we can also start taking request sizes instead of
weights, and allow the user of the interface to register a function,
through the config struct, that knows how to convert sizes to weight.

Signed-off-by: Glauber Costa <7ba9037b0dd006f9408bd45b94707becd5cd4e87@scylladb.com>

scylladb/seastar,avikivity/seastar,scylladb/seastar,syuu1228/seastar,dreamsxin/seastar,cloudius-systems/seastar,avikivity/seastar,avikivity/seastar,dreamsxin/seastar,cloudius-systems/seastar,cloudius-systems/seastar,dreamsxin/seastar,syuu1228/seastar,syuu1228/seastar,scylladb/seastar