Small object allocator

The allocator consists of a common slab cache, region and slab
allocators.
The patch provides unit tests.

It also modifies rlist_shift to be more in line with the
rest of rlist functions.