semaphore: add an exception_factory-based constructor
semaphore: add an exception_factory-based constructor

The constructor is added in order to allow creating semaphores
with different instances of exception factories that represent
the same exception factory type.

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