openssd: reverse translation map

To implement garbage collection of pages, we need to be able to
translate physical page address to its logical address page.

Then its possible to easily update the logical mapping that back a
physical page.

Furthermore, refactoring the update translation map to its own
function, to allow better data structuresi, than an array, to back
the translation tables in the future.
openssd: kernel thread for gc and other work

We init a thread at dm ctr, to allow any background work to be
applied. This includes work as background gc, maintainence, etc.