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.
base: catch exceptions in rm_session

For base-nova thread creation related exception can be thrown, since the
Pager_objects are threads. Catch the exception and re-throw the
expected/documented exception in rm_session.

This commit avoids that core dies with an unhandled exception if a thread
couldn't be created (e.g. because the limit has been reached).
core: don't dereference null pointer
nova: decode type of page fault in core

Ease reading debugging messages if a core thread fails.
base: apply thread.cc fix of foc to base*

With commit 1389b63050f359214b6b309c687f7cd0e280c6b2 in thread.cc for base-foc
a bug was fixed, where the memory of the context got freed up before running
the de-constructor.

Apply the fix also to base and base-mb.
base: avoid deadlock in sliced_heap

It happens that ram_session and rm_session itself are invoking alloc
respectively free on the very same sliced heap inside core.

Lock only the sliced_heap list implementation and let the session locking to
the session implementation of rm_session and ram_session.

The ram_session and rm_session must take care to proper lock since inside
both implementations already the session handling thread and the service thread
are running parallel.
Build pci_drv for framebuffer test / fix warning
base-linux: use the Genode GCC's crt files

With this patch hybrid applications get linked with the Genode GCC's
'crtbegin.o' and 'crtend.o' files instead of the host GCC's versions
to avoid compatibility problems. This only affects the 'linux_x86'
platform, since on the 'lx_hybrid_x86' platform the Genode GCC is the
host GCC.

Fixes #550.