prevent rounding 0 if HWTIMER_SPEED > 1000000L

The current macros in hwtimer.h expect HWTIMER_SPEED to be < 1000000L, otherwise integer arithmetic will round the result down to 0.
Add a case to prevent that.
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
ieee802154: introduce constant for default PAN id
boards/samr21-xpro: declare implemented features
cpu/cc2538: made _kill(_r) syscalls weak
board/openmote: enabled C++ support
board/cc2538dk: enabled C++ support
make: allow tagged RIOT_VERSION
nrf51: halt works better
add hdc1000 sensor driver
add test app for hdc1000 sensor