Parallel processing

Allow processing in parallel background threads to improve the
performance.
Merge branch 'master' into features/parallel

Conflicts:
	pre-commit
Merge branch 'master' into features/parallel

Conflicts:
	pre-commit-uncrustify.sh
Rework parallel processing

Improve the parallel processing performance by introducing parallel
lists and batch processing.
Merge branch 'master' into features/parallel
Improve POSIX compatibility of the scripts

Under various distributions, /bin/sh can point to a shell different
than /bin/bash (e.g. ash, dash). On some platforms, bash might not even
be available.
Therefore the bash specific features and commands should not be used.
Merge branch 'master' into features/parallel

Conflicts:
	pre-commit-all.sh
	pre-commit-uncrustify.sh
CppCheck pre-commit hook

Pre-commit hook doing the CppCheck static analysis.
Merge branch 'master' into features/parallel

Conflicts:
	pre-commit-uncrustify.sh
Split filelist for parallel processing with sed

The "sed" command is able to split the filename list easily.
Check the number of parallel tasks

Parallel task count lesser than 1 would effectively disable the check.
Allow special characters in the company name
Merge branch 'master' into features/cppcheck

Conflicts:
	pre-commit-all.sh
	pre-commit-cppcheck.sh
Process the CppCheck in single step

All C++ files can be processed in a single step.
Merge branch 'master' into features/parallel

Conflicts:
	pre-commit-uncrustify.sh
Merge branch 'features/parallel' into features/cppcheck

Conflicts:
	pre-commit-cppcheck.sh
Merge branch 'features/parallel'
Merge branch 'features/cppcheck'

Conflicts:
	pre-commit-all.sh
Join the Uncrustify and CppCheck scripts

Merge the Uncrustify and CppCheck into one global script - some
operations are common for both scripts (like dumping of the git index,
or processing of file extensions).