make: initialize debugger with TERMFLAGS
added missing `extern "C"` guards
Merge pull request #1851 from authmillenon/native-debug-args

make: initialize debugger with TERMFLAGS
Merge pull request #1856 from BytesGalore/extern_C_in_headers_drivers_add_new_headers

drivers: added missing `extern "C"` guards in new files
cppcheck: don't needlessly assign sched_active_pid
Add copyright information to lpc1768/include/cpu.h
core: introduce thread_yield_higher(), yield less

Fixes #1708.

Currently involuntary preemption causes the current thread not only to
yield for a higher prioritized thread, but all other threads of its own
priority class, too.

This PR adds the function `thread_yield_higher()`, which will yield the
current thread in favor of higher prioritized functions, but not for
threads of its own priority class.

Boards now need to implement `thread_yield_higher()` instead of
`thread_yield()`, but `COREIF_NG` boards are not affected in any way.

`thread_yield()` retains its old meaning: yield for every thread that
has the same or a higher priority.

This PR does not touch the occurrences of `thread_yield()` in the periph
drivers, because the author of this PR did not look into the logic of
the various driver implementations.
core: refactor sched_run

`sched_run()` was cluttered, changed changed without refactoring a lot.