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
lpc1768: cleanup Makefile

`cpu/lpc1768/Makefile` contains many lines that don't belong into this
file, but the maybe `Makefile.include`. Either way, this Makefile is
never called with these goals.
pyterm: Make pyterm available in python2 and python3
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
x86: fix up `make term` for x86

When qemu-i386 shuts down the instance on its own accord, like in the
hello-world example, then the terminal is broken afterwards.

This PR ensures that the terminal flags are restored on shutdown.
Merge pull request #1236 from authmillenon/pyterm-six

pyterm: make it usable with python 2 and 3
Merge pull request #1343 from Kijewski/fixup-1258

x86: fix up `make term` for x86
shell: added command to print all ignored addresses
Merge pull request #1337 from OlegHahm/print_ignore

shell: added command to print all ignored addresses
destiny: wireshark revealed wrong seq/ack nr. in tcp handshake
Capturing the tcp handshake with wireshark revealed that the
sequence and ack nrs. are not rfc compliant.
I did the changes based on
http://tools.ietf.org/html/rfc793#page-52 to http://tools.ietf.org/html/rfc793#page-72
destiny: set ack bit for (almost) all segments after syn
The current implementation does not set the ack bit
for outgoing data segments and the fin segment.

However, RFC793 states that all segments
should have an ack bit set in order to present a valid
ack nr. in outgoing segments.

Currently, data segments and acknowledgement segments
are distinguished by the existence of their ack bit.
With the new assumption, that both of these types of
segments need an ack bit set, I had to change several
parts of the current implementation to make this
decision by inspecting the payload size.

destiny: added parens
Merge pull request #1321 from cgundogan/fix_missing_ack_bit

destiny: set ack bit for (almost) all segments after syn
Merge pull request #1326 from Kijewski/make-parallel-dirs

 make: refactor make system (parallelism, deduplication)
x86: shutdown on LPM_POWERDOWN
Fix all warnings for native and qemu-i386

Missing returns, unused variables (only used for debugging), empty
translation units, missing function prototypes, and GNU extensions.