drivers - spi: extended low-level spi driver interface
cpu - multiple: adapt spi drivers to interface extension
tests/periph_gpio: let build fail without GPIO
tests/periph_gpio_exti: let build fail w/o GPIO
make: introduce and use periph_pwm feature
tests/periph_pwm: let build fail w/o PWM
make: introduce and use periph_random feature
tests/periph_random: let build fail w/o RANDOM
make: introduce and use periph_rtt feature
tests/periph_rtt: let build fail w/o RTT
make: introduce and use periph_cpuid feature
tests/periph_cpuid: let test fail w/o CPUID_ID_LEN
Merge pull request #1822 from LudwigOrtmann/featuremania

make + tests: add more Makefile.features
Merge pull request #1770 from fnack/spi_extension

driver - periph: Extend SPI low-level driver interface
c++: tests: add `extern "C"` in header files, i.e. only present in `./unittests`
Merge pull request #1788 from BytesGalore/extern_C_in_headers_tests

c++: tests/unittests: add extern C in header files
core: align stack on a 32bit boundary

Fixes #1267.
make: don't overwrite LINKFLAGS

Fix the boards' Makefiles were a potentially set LINKFLAGS variable were
overwritten.
tests: use correct PID for main thread

Since PIDs are not beginning at 0 any more, this test was failing.
dist/tools: add check for extern "C" declaration