Support clocks for sync objects

A race still may happen after a few test set runs (in case the same slab object will be used), since completion variables are not handled yet.
this both not enough for worst case, and wastes memory in common case
make it a linked list of sync objects