Extension of the TypeExtractor to validate input type information and recognizing input mismatches.

With this PR the TypeExtractor also validates the input parameters of a Function and compares them with the given TypeInformation. If there is an input mismatch, an Exception is thrown which helps the user to identify the problem e.g. "Basic type expected" etc.

See also #683

The PR also corrects the whitespace format and fixes a small TypeExtractor bug.

Test cases are also included.