Add a basic control of non-type specifiers

A class designed for an easy analysis of non-type specifiers is implemented.
Furthermore, non-type specifiers in generic parameters declarations of
components and instance parameters in components specifications are checked and
detected errors are reported.
Implement basic control of functions parameters

Essential control of functions parameters is added, i.e. it is checked if the
types of parameters in definitions of functions are complete. Moreover, the
special way of expressing that a function takes no parameters, i.e. by using
'void' as the only specifier in parentheses, is now supported.
Add basic type control of variables declarations

It is checked if variables with no linkage are of complete types. If not,
errors are reported. Moreover, non-type specifiers from declarations of
variables are analyzed and if a bad combination is detected, an error helper
is notified about such error. Furthermore, the builder pattern is introduced
to the hierarchy of classes that depict objects in the symbol table. Now the
only way to instantiate objects of these classes is to use a builder.