cpu/stm32f4: optimized GPIO driver implementation
SQUASH: cpu: fixed some typos
SQUASH: cpu/f4: changed order of irq enabling seq
net: move ping to sys/net

* moved the former ping module from `sys` to `sys/net/link_layer` and renamed to l2_ping
* use defaulttransceiver instead of cc110x
* some refactoring
net: l2_ping uses radio_packet_t instead of packet_info_t
tests: extend cib unittest
core: inline `cib.c`

The functions in `cib.h` are only used in `msg.c`. They are very small,
and proper function calls have a bigger overhead than inlining these
functions.

The difference in .text size (worst to best):

```
+104 native
+69  qemu-i386
+32  mbed_lpc1768
+28  samr21-xpro

-54  chronos
-54  z1
-56  iot-lab_M3
-56  msb-430
-56  msb-430h
-56  msba2
-56  openmote
-56  spark-core
-56  telosb
-56  wsn430-v1_3b
-56  wsn430-v1_4
-58  arduino-mega2560
-60  airfy-beacon
-60  arduino-due
-60  f4vi1
-60  msbiot
-60  pca10000
-60  pca10005
-60  stm32f0discovery
-60  stm32f3discovery
-60  stm32f4discovery
-60  udoo
-60  yunjia-nrf51822
-72  avsextrem
-72  pttu
-120 redbee-econotag
```
C++ -_-
cpu/cc2538: added extern C for rfcore.h
Basic DAC Driver, implementation on stm32f4discovery
Initial import of nrf24l01p lowlevel functions
Merge pull request #1704 from PeterKietzmann/add_nrf24l01p_lowlevel

drivers/nrf24l01+ : added low-level functions for nrf24l01+ transceiver
unittests: test full 16 bit range for bitarithm

Also uses a better pseudo random number.
cpu/stm32f3: added low-level PWM driver
board/stm32f3discovery: added PWM

- added PWM feature
- added PWM definitions to periph_conf.h
Revert "core: faster bitarithm_msb"

This reverts commit ed7e233876239e5a6815150c33fb74215069f829.
Merge pull request #2093 from haukepetersen/add_stm32f3_pwm

cpu/stm32f3: added PWM driver
Merge pull request #2018 from brummer-simon/devel-dac_driver

Basic DAC Driver, implementation on stm32f4discovery
core: cib size must not exceed MAXINT/2
cpu/stm32f0: set hwtimer spin barrier value