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.
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++ -_-
core: cib size must not exceed MAXINT/2
Introduction of RPL non-storing mode.

This implementation is based on RFC 6550 with addition of RFC 6554 (Source Routing Header for RPL). Both can be found under the following links:
- http://tools.ietf.org/html/rfc6550
- http://tools.ietf.org/html/rfc6554

The PR provides basic functionality for handling and forwarding packages in non-storing mode. In addition the structure of the previous implemented RPL storing mode is now revised, so that readability and modularity is increased. The following features are implemented:
- building function for a SRH and integration in common packets
- source-route build algorithm based on the structure of the DODAG
- an RPL-based interpretation of the SRH and removal at destination
- new structure for RPl-module with extracted beaconing-functionality
- leaf nodes are now supported

There are some missed goals and should be included in future updates:
- building a common routing table structure for different types of routing protocols
- routing tables are statically assigned via source code, future update should have an optional variable at build-time, which sets the size of the routing table depending on the desired functionality of a node in the network (root, node, leaf)
Merge pull request #1404 from fabianbrandt/rpl_nonstoring

Introduction of RPL non-storing mode
lint: fix possible nullptr deref in *pwr
lint: fix uselessAssignmentArg start_index
lint: fix syntax error caused by ifdef mess
Merge pull request #2103 from N8Fear/cppcheck_new

lint: fix some issues introduced by the latest PRs
tests/hwtimer_wait: test smallest value possible

By selecting the start value as a multiple of HWTIMER_SPIN_BARRIER+1, the
test now includes the smallest non-spinning value.
core/hwtimer: fix HWTIMER_SPIN_BARRIER doc
Merge pull request #2106 from LudwigOrtmann/hwtimer_doc

core/hwtimer: fix HWTIMER_SPIN_BARRIER doc
doc: remove superfluous parameter for @file

doxygen can figure this out much better on its own.
doc: exclude vendor specific headers from doxygen

Also, periph_conf contains mostly the same macros that don't need to be
documented in every single instance.
native: fix some debug messages

`name` isn't part of `tcb_t` anymore, also some function identified itself
wrongly.
Merge pull request #2105 from LudwigOrtmann/hwtimer_wait

tests/hwtimer_wait: test smallest value possible