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/nrf51822: added HFCLK initialization
boards: added CLOCK defines to NRF based boards
net_help: remove printArrayRange()

The od module does the same, much less specialized, much more
sophisticated.
net_help: remove IPV6_CMP_ADDR macro

Used nowhere; alternative: ipv6_addr_is_equal(), since other use-cases
(is an IPv6 address smaller than the other) are not applicable anyway.
net_help: prefix csum properly and add documentation
Merge pull request #2019 from authmillenon/cleanup-net_help

net_help: Cleanup
examples/riot_and_cpp: cleanup in Makefile

removed some deprecated comments about C++
boards: initial import for HiKoB fox
Merge pull request #2028 from haukepetersen/fix_riotandcpp_makefile

examples/riot_and_cpp: cleanup in Makefile
cpu/sam3x8e: made _kill(_r) syscalls weak
boards: enabled C++ for arduino-due and udoo
board/msbiot: added support for C++