Enable ABD testing with ztest (make abd work in userspace)

In order to use the ABD layer as cleanly as possible a user implememtation
of the Linux scatterlist functions (at least as used by abd) was written.

zdb and ztest had to be slightly modified to work with abd data structures.
Even so I'm not convinced I've done everything right.

Yes I know there are code style errors and abhorible violations of coding
practices. No I don't care.