core/semaphore: Change the access of semaphore_units main ctor
core/semaphore: Change the access of semaphore_units main ctor

Make private the main semaphore_units ctor, receiving a semaphore
pointer and the number of units taken from it, in order to prevent the
mistake of passing in a nullptr and a non-zero amount of units.

To preserve the ability of creating a null-object semaphore_units, add
a default ctor.

Signed-off-by: Duarte Nunes <a60e8b7496f7715d71354fe4c06dd24017025bf1@scylladb.com>
Reviewed-by: Nadav Har'El <625169824b719df98706d88646d0aae6f368ae4d@scylladb.com>
Message-Id: <20181021214754.13795-1-a60e8b7496f7715d71354fe4c06dd24017025bf1@scylladb.com>

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