x86: add proper terminal for qemu-i386

This includes GNU readline features and debugging.

Build with `make BOARD=qemu-i386 all-debug`.
Run with `make BOARD=qemu-i386 term`.

Debug with `make BOARD=qemu-i386 debug`. The default debugger is `gdb`.
Also supported are `debug-tui` (GDB Text User Interface), `debug-kdbg`,
and `debug-ddd`. Set a breakpoint in e.g. "startup" or "main", and
hit/write "continue".

The debugger can only run with a quite new toolchain (e.g. Debian
testing). Ubuntu 13.10. for example will likely report a crash in GDB
when switching from 16bit code to 32bit code.
x86: garbage collect section if not debugging
Merge pull request #1258 from Kijewski/x86-term

x86: add proper terminal for qemu-i386
make: refactor make system (parallelism, deduplication)

Almost everything was build sequentially in RIOT, because we employed
explicit for-loops to build directories (DIRS). This PR makes our make
system use normal dependencies to build directories.

All our compiling rules were duplicated, once for the application, once
for modules. This PR makes the application a normal module, removing
this duplication.
make: make DIRS usable for applications
make: create dependencies as side effect
make: use abspath for better error messages
make: ensure order of `$(AR)` calls