Switch using common directory names

In C++, header files are usually in 'include' directories and
implementation files are in 'source' directories. These directories
usually share a common root path.

<root>\include\...
<root>\source\...

There is also the possibility that C++ project components are
placed in their own sub-directory with corresponding 'include'
and 'source' directories.

<root>\component_1\include\...
<root>\component_1\source\...
<root>\component_2\include\...
<root>\component_2\source\...

What it does not yet do is scan for other directory layouts.
An example is when 'include' files are placed into deeper
subdirectories:

<root>\component_1\include\sub1\*.h
<root>\component_1\include\sub2\*.h
<root>\component_1\source\*.cpp

The common directories taken into account are:

includes; include; inc
sources; source; src

These are pre-defined for now but they should be configurable.