Fixed SMP boot problem.
Adjusted code-style of remaining assembly files.
Fixed type-error in cmdargs usage.
Moved environment-variables to userland.

Now that we have the new UserAccess-concept, it is more
complicated than before. Additionally, if we do the
absolutize-path in userland, we don't need any env-vars in
kernel anymore. Of course, we might do additional work by
first absolutizing the path in userland and then copying
it again in kernel, but because the UserAccess stuff costs
a bit, too, we are actually not worse.
Fixed warning in strerror.
Don't copy the whole kernel-stack on fork.
Adjusted fork-benchmark.
Format fix.
Moved pipe to userspace.

Since we can also implement a pipe as a device using
creatsibl and achieve comparable performance (with shm),
I think it is better to do that in userspace in order to
simplify the kernel (e.g. reduce number of places where a
thread can be blocked).
Bugfix: added MSG_DEV_CREATSIBL to device-messages.
Bugfix: skip data-message in lo on failed writes.
Added missing include in std::list.
It's actually better to log \r and \b to serial.
Use shared memory for pipe performance test.
ls: print 'm' instead of 'x' for devices.
Improved error-message for EDESTROYED.
Added error-msgs for failed writes.

Now that we don't have the pipe-closed signal anymore, the
applications should check for errors on writing to stdout
in order to stop (which they should've been doing already).
Fixed non-blocking I/O.