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
Merge pull request #1326 from Kijewski/make-parallel-dirs

 make: refactor make system (parallelism, deduplication)
x86: shutdown on LPM_POWERDOWN
drivers: added set_absolute to timer interface
Merge pull request #1289 from haukepetersen/fix_drivers_periph_timer

drivers: added set_absolute to timer interface
make: OSX: don't fail for empty .a archives

Fixes issue #1333.
tests/Travis: run unittests on x86, too
Merge pull request #1252 from Kijewski/travis-x86

tests/Travis: run unittests on qemu-i386, too
Merge pull request #1334 from Kijewski/issue-1333

make: OSX: don't fail for empty .a archives
Changed RIOT/Makefile.include, Makefile.base, Makefile.cflags, and native/Makefile.include to compile C and C++ files.
added riot_and_cpp example
added sudo apt-get install g++-multilib to travis.yml
Merge pull request #981 from vanhieubk/nhat_mixCompiler

Another way to mix c and cpp in user app with RIOT [native]
bugfix: msp430 can write now more then one byte to flash
Merge pull request #1348 from SGSSGene/bugfix_writetorom

msp430: fix writing more than one byte to flash
pyterm: made python compatible with python2 and python3

In python 3 there is no implicit converion of bytes to str or character.
Merge pull request #1349 from cgundogan/fix_pyterm_python_version

pyterm: made python compatible with python2 and python3