libc: set 'errno' for invalid file descriptors

Fixes #877.
File permissions for os/run/framebuffer.run
base-hw: Define CACHE_LINE_SIZE_LOG2 for rpi
dde_linux: Don't suppress -Wimplicit-function-decl.

Suppressing those warnings let inconsistencies between implementations
of the Linux API functions to go unnoticed. With the warning enabled, we
force ourself to declare every function in 'lx_emul.h'.
dde_linux: Follow symlinks while grepping includes

This patch principally allows to install symlinks to out-of-Linux tree
drivers into the contrib directory. Those files are then considered for
the 'lx_emul.h' symlink procedure. Is useful as a temporary mechanism
while developing the rpi USB driver.
Fix usb_storage.run for non-PC platforms

On non-PC platforms, the variable 'build' remains undefined, which lets
the 'build $build' step fail. Use the traditional 'build_components'
variable instead. As a further plus, this avoids multiple passes of the
build system.
dde_linux: Limit number of merged IRQs

This change makes Irq_context::_handle_one robust against misbehaving
IRQ handlers that always return IRQ_HANDLED, specifically dwc_otg.
dde_linux: Support for Raspberry Pi

At the current stage, the USB HID and storage drivers are prinicpally
working but not stable. If interrupts are not processed fast enough,
devices will get sporadically disconnected.