periph.cpuid: Add central documentation for CPUID_ID_LEN
auto_init: use full hash to configure radio address

Since the 4-byte CPU ID on native is in most cases generated from the 2-byte
PID of the native process, choosing the lower half of the hash of the CPU ID to
set the radio address led to always setting it to the hash of 0 in this
cases. This changes it to use both halves of the hash and taking the
modulus so this corner cases can be avoided.
auto_init: reduce scope of iface
Merge pull request #1814 from authmillenon/auto-init-addr-fix

auto_init: use full hash to configure radio address
drivers - spi: extended low-level spi driver interface
cpu - multiple: adapt spi drivers to interface extension
tests/periph_gpio: let build fail without GPIO
Merge pull request #1821 from authmillenon/cpuid-doc

periph.cpuid: Add central documentation for CPUID_ID_LEN
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
cpu/stm32f0: fixed typo uart driver defines
Merge pull request #1823 from haukepetersen/fix_stm32f0_uart

cpu/stm32f0: fixed typo uart driver defines
Merge pull request #1822 from LudwigOrtmann/featuremania

make + tests: add more Makefile.features