[462481] Introduce VariableType and use it in APIs and VSM Validation

This commit adds the concept of a VariableType which can be defined by
a list of type names (which are essentially Strings which can be matched
back to EClassifier instances). This does not add more semantic than
what was already existing and -- at least partially -- supported, but
the notion of TypeName is introduced too in the Java code to avoid
manipulating plain Strings.

A return type can then be provided by an IInterpreter which implements
the TypedValidation interface, this interface has been added instead of
adapting the current IInterpreter interface to avoid breaking the
compatibility with older IInterpreter implementations.

The type of *self* is refined when the ModelOperations
of a tool are being analyzed.

Bug: 462481
Change-Id: Ifb0acadaca399b47712b9924a88044767f72f4bd
Signed-off-by: Cedric Brun <cedric.brun@obeo.fr>
37 files changed