openssd: move debug messages into DMDEBUG instead of DMINFO
openssd: llet dm-openssd.h handle header inclusion.
openssd: style checkup
lib: export symbols
openssd: move ftl functions into dm-openssd-core

We wish to split the code into its dm part and translation part.

Additionally, we fix not needing to export global symbols for binding
the code together.
openssd: fix module loading

I broke the module loading process by a misunderstanding of how modules was
compiled into their module form.

The dm-openssd.c wasn't linked, as it where overwritten by dm-openssd.o.

By renaming and properly fix the linking process, we are back on track.
revise to support swap and latency hints again, in regular and GC allocation
openssd: reenable percpu ref counting for pool blocks.
openssd: implement gc hooks

We want to allow a plugin archicture for future extensions. We do this
by extending function interface of struct openssd with begin/end_gc
calls. This allows us, in a generic way for frameworks that hook into
the gc code to implement there own flow, without changing the gc code.
openssd: rename structs

Rename openssd_pool_block to nvm_block and openssd_pool to nvm pool to
allow for more generic terms. We want to move away from the openssd
naming in the future to not align with the already existing openssd
project.
openssd: disabled block ref kill for now

Unfortunately we don't yet have a good way of tracking blocks
"to-be-erased". On shutdown this is a problem, as erases ain't scheduled
up front, but when no more accesses are toward it. This allows us to
free structures before we are actually finished with them, leading to
garbage data.
openssd: multiple definitions of _per_bio_cache

We declared this globally, leading to multiple definitions of the
structure. Move it to module init, as its the only place its used.
openssd: move constants to variables

Let the dmsetup table define which hint engine to use, the timings, and
other configuration options.

Additional cleanups around the code.
openssd: remove unneeded serialize variable

Use serialize flag instead of having a separate variable.
openssd: rename timing_* to t_*

We like to follow the same naming as in append points.