Merge test makefile

merging tests/Makefile into main Makefile
* disable `-O2` on `DEBUG=1` build, cause it might optimize code away (e.g. needed for coverage)
* usage:
  - `make test` for running the test suites
  - `make test_valgrind` for running the test suites covered by valgrind
  - `make test_coverage` for creating a coverage overview in `coverage-report/index.html`