cpu/stm32f1: fix i2c master read for N>2 bytes

This fixes reading more than 2 bytes from the slave device.
In the current implementation the last byte was not read from
data register and the termination sequence buggy.
cpu/stm32f1: fix i2c read for N=2 bytes
core: make sched_runqueue public

Reverting b604832, because thread_yield() needs to access this
information.
core: move thread_yield*() to thread.[ch]

Although it might conceptionally rather belong to the scheduler, the
yield functions are prefixed with thread_ and thus, belong there.
rpl_udp: add non-routing hosts to example
Copy SEGGER JLink scripts from boards/openmote to boards/cc2538dk.
boards/cc2538dk: Support flashing and debugging using the SEGGER JLink.
sys: fix thread_print_all
core: refactor sched_run

`sched_run()` was cluttered. Many individual changes were done without a
proper refactoring.
Merge pull request #1841 from Kijewski/sched_yield-result

 core: refactor sched_run
trickle: increase stacksize for timer thread

printf is used in this thread
boards: fixeded UART defines for NRF borads

fixed for pca10000, pca10005, yunjia-51822
cpu/nrf51822: added interrupt mode to UART driver
tests/periph_uart_int: fixed formatting
boards: added missing STD_RX_BUFSIZE defines

added for:
- pca10000
- pca10005
- yunjia-nrf51822
cpu/nrf51822: made syscalls aware of uart0
config: use radio_address_t
config: moved from core to sys

There's no need to run config_load from core directly, can be done by
auto_init.
config: make members feature specific

Channel and address are only sensible for boards that actually have a
transceiver.
config: suppress cppcheck warnings