base & arm: Fix unecessary assertion in memcpy_cpu

Fix #529
base-hw: reply to IPC without awaiting the next

Fix #544
base-hw: embed kernel space into platform thread

Instead of allocating and freeing the space that is needed for the
kernel thread objects from core, wich is not convenient with the
quota system, platform thread now holds the space as array by
itself.

Unfortunately we cannot measure the space size by a static function
anymore, so kernel thread had to be moved from kernel.cc into its
own header. This way platform thread can use sizeof().

Fix #543
rom_loopdev: missing 'semaphore.h' include

Fix #545
CPU session meta data RAM quota upgrade support

Fixes #541.
Resolve 'size_t' ambiguity

When building core as hybrid Linux/Genode program, 'size_t' becomes
ambiguous.
Linux: remove 'some_mem' array in core

The Linux version of core used a part of the BSS to simulate access to
physical memory. All dataspaces would refer to a portion of 'some_mem'.
So every time when core would access the dataspace content, it would
access its local BSS. For all processes outside of core, dataspaces were
represented as files. This patch removes the distinction between core
and non-core processes. Now, core uses the same 'Rm_session_mmap'
implementation as regular processes. This way, the 'some_mem' could be
abandoned. We still use BSS variable for allocating core-local meta
data through.
build.mk: Add dependency for init_libdep_file on directory

This should ensure that the directory is created before trying to
create a file within it.

This hopefully fixes errors like the following when using parallel
builds:

checking library dependencies...
/bin/bash: line 19: var/libdeps: No such file or directory
make[5]: *** [init_libdep_file] Error 1
base-hw & imx31: compile error in kernel_support.h

Fix #548
Fiasco.OC: only access valid UTCB (fix #547)

If no platform thread was created before somebody destroys a thread object,
there is no valid UTCB available. Thereby, we've to check this before accessing
the UTCB when destroying a thread object.
prepare: Serialize preparation in Makefile

Any recursively invoked `make' command will still be run in parallel
(unless its makefile contains .NOTPARALLEL).

Related to #535.
base: Don't complete line breaks in UART drivers.
L4lx: make block stub driver SMP safe (fix #514)

We have to take the block queue's spin lock before invoking the interrupt
routine, otherwise the AVL tree og Genode's block packet stream gets
corrupted.
L4lx: mask all VCPU IRQs when doing ipc (fix #553)

Open VCPU interrupts while the VCPU is in an IPC operation can badly influence
its state. That's why this commit fixes a whole bunch of places, where IRQs
weren't masked by now.
Add OMAP4 UART driver

Fixes #444
Add setting baudrate to i8250 and OMAP4 UART drivers

Fixes #445
base: extend cap_session with memory allocator

Required to allocate memory to remember per session created capabilities.
During session destruction all capabilities have to be freed up.
nova: extend cap_session to free up portals
nova: set page fault handler for core threads

Ease debugging if a core thread fail.
base: throw exception if thread creation failed

Sanity check that the context area has been attached. Otherwise the code
later tries to access the context area and core dies with a unhandled page
fault.