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 file is intended to be independent of such things as slabs
e.g. the alloc/free functions will be called in page allocator as well