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
```
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.