joel4: split k_createTask to k_createThread

Created a new function k_createThread to separate the concept of a task
(which contains the memory space and a set of threads) and a thread (one
executable component in a task).  This is to be better aligned with the L4 API.

Signed-off-by: jnider <joel@nider.org>
joel4: notes

Very informal documentation mostly for myself.  This should explain why I did
what I did.

Signed-off-by: jnider <joel@nider.org>
joel4: added createTask syscall

A small wrapper function to bind the syscall mechanism to the existing
k_createTask kernel function.  Now a userspace app has the ability to cause
the kernel to create a new task. This is the basis for fork(), spawn(),
etc.  I needed it first for my loader.

Signed-off-by: jnider <joel@nider.org>
separate kernel and driver build targets

Allow kernel and drivers to be built as separate targets.  Also ensure drivers
are a pre-requisite for the init.cpio image.

Signed-off-by: jnider <joel@nider.org>
drivers: Makefile maintenance

Removed a bunch of commented out unused lines.

Signed-off-by: jnider <joel@nider.org>