utils: Add overloaded_functor helper.
utils: Add overloaded_functor helper.

The overloaded_functor class template can be used to encompass multiple
lambdas accepting different types into a single callable object that can
be used with any of those types.

One application is visitors for std::variant where different handling is
required for different types.

Signed-off-by: Vladimir Krivopalov <dc9186a06078733915a6fcbab34e59120be2b484@scylladb.com>

avikivity/scylla,scylladb/scylla,scylladb/scylla,duarten/scylla,avikivity/scylla,duarten/scylla,duarten/scylla,scylladb/scylla,scylladb/scylla,avikivity/scylla