pkg/oonf_api: fix conflicting types on msba2
unittests: core: add test_bitarithm_[ml]sb_all
Add test_ipc_pingpong
Add bitarithm measuring
core: faster bitarithm_msb
native: use `real_pipe()` and `read_close()`
Merge pull request #1210 from benpicco/fix_oonf_msba2

pkg/oonf_api: fix conflicting types on msba2
Merge pull request #975 from Kijewski/issue-974

core: change in bitarithm implementation
Merge pull request #1322 from Kijewski/native-pipe-and-close

native: use `real_pipe()` and `read_close()`
make: detect their module name automatically

For many modules the `Makefile` contains a line like
```
MODULE:=$(shell basename $(CURDIR))
```
This conclusively shows that we do not have to set the module name
manually.

This PR removes the need to set the module name manually, if it is the
same as the basename. E.g. for `…/sys/vtimer/Makefile` the variable
make `MODULE` will still be `vtimer`, because it is the basename of the
Makefile.
make: easifier usage of module subdirectories

Many modules have subdirectories. Often these subdirectories should only
be included under certain circumstances. Modules that use submodules
currently need to use this pattern:

```make
DIRS = …

all: $(BINDIR)$(MODULE).a
   @for i in $(DIRS) ; do $(MAKE) -C $$i ; done ;

include $(RIOTBASE)/Makefile.base

clean::
   @for i in $(DIRS) ; do $(MAKE) -C $$i clean ; done ;
```

This PR moves the `all:` and `clean::` boilerplate into `Makefile.base`.
make: refactor make system (parallelism, deduplication)

Almost everything was build sequentially in RIOT, because we employed
explicit for-loops to build directories (DIRS). This PR makes our make
system use normal dependencies to build directories.

All our compiling rules were duplicated, once for the application, once
for modules. This PR makes the application a normal module, removing
this duplication.