slob: alloc: split: Fix header init placement bug

Because the header size was not taken into account when creating the new
header, the header init function simply created a new header, even if it
did not fit.

With this fix in place, the hdrInit function takes this into account and
returns an error if the size of the block is too small for anything
usable to be allocated.

Also, the placement of the initial heap has been fixed to be relative
the the kernel code position.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>