dist/cppcheck: handle unhandled condition

When no arguments are given at all, the script would shift when there
is nothing to shift. This results in a failure on debian stable:
```
./dist/tools/cppcheck/check.sh: 20: shift: can't shift that many
```
Merge pull request #2069 from LudwigOrtmann/cppcheck-fixup

dist/cppcheck: handle unhandled condition
cpu: added `extern "C"` to headers
[SQUASH ME] fixed merge mistake
[SQUASH ME or REMOVE ME] removed intermediate `etern "C"` for m4
[SQUASH ME] removed unrelated newlines and whitespaces
[SQUASH ME] removed/merged `extern "C"`s
[SQUASH ME] merged extern "C"s and repaired merge destructions
[SQUASH ME] one missed
[SQUASH ME] removed unrelated changes to whitespaces (my editor seems to be smarter than me)
[SQUASH ME] removed unrelated whitespaces (my editor is smarter than me)
[SQUASH ME] unrelated newline
[SQUASH ME] removed double etern "C"