unittests: separate test suites from main.c

This change removes the need to patch the main.c if you add or remove a
test suite. A test suite in `tests/unittests/tests-XXX` needs to export
the function `void tests_XXX(void)`, which gets called by `main()`.

The `tests-XXX/Makefile` looks like your average module:
```
MODULE = tests-XXX
include $(RIOTBASE)/Makefile.base
```
examples: added README.md to ipc_pingpong example
added iot-lab_M3 and temporarily dropped telosb support; split patch.txt
into separate patch files
examples: adjusted output and README for IPC pingpong
Merge pull request #1056 from thomaseichinger/pkg-openwsn

pkg: openwsn: update with iot-lab_M3 support and split patch files
examples: IPC ping-pong README adjustments
Merge pull request #1171 from haukepetersen/example_ipcpingpong_readme

examples: added README.md to ipc_pingpong example
native: fixup #1145: function declaration
Merge pull request #1172 from Kijewski/fixup-166b88f1

native: fixup #1145: function declaration
Merge pull request #1168 from Kijewski/unittests-use-subfolders-and-dark-magic

unittests: separate test suites from main.c
make: put buildtest goals into an own file

`Makefile.include` is too long as is.
make: delete everything in buildtest beforehand
make: supply `-j` on `buildtest`

We support `make -j` for a while now. `make buildtest` takes ages to
finish. So just supply `-j` on buildtest.
Merge pull request #1169 from Kijewski/buildtest-minus-j

make: supply `-j` on `buildtest`
shell: renaming `isnumber` to `is_number` in sc_net_if.c

fix name collision on OS X by renaming
net: handle macro redefinitions for OS X

undefine macros and reorder header includes to get rid of system
defined macros on OS X

fixes #1165