util: change type of uatomic_bool from unsigned long to struct

uatomic_bool shouldn't be typedefed unsigned long. Because it allows
simple assignment statements whose left expression is uatomic_bool
typed. This would cause subtle bugs.

This patch makes uatomic_bool as a typedefed struct. This forbid
illegal direct assignments to uatomic_bool variables.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: fix illegal direct assignments to an uatomic_bool typed variable

global_cache->in_reclaim and sockfd_cache_fd->in_use should be
accessed with uatomic_set_{true, false}.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
Signed-off-by: Liu Yuan <tailai.ly@taobao.com>