openssd: simple garbage collector

The GC work by running the pools in rr. If the number of free blocks
are below a user configurable parameter. We chose a block to redeem,
free it (wip) and push it to the pool free list.

This is done each time the kopenssd process is running. For each run,
a maximum of max_collect is freed. This is current set to half of the
pools, so some pools are borked down with erases, and thus read
and writes can continue within some pools.