Fix issue for constructor call in static metaclasses
Fix issue for constructor call in static metaclasses

Static metaclasses definition performs a call to '__call__' from
MetaEClass. This metaclass adds new __setattr__/__getattr__ to the
defined class. This simple addition was leading to unpredctible
behavior when new object were created if a 'super().__init__()' was
introduced in the new metaclass definition (static one). The issue
comes from the EObject and it's way of creating some meta-attributes.

This commit fixes this issue and gives a way of overriding
constructors in static definitions and overriding defaults values
(should be done in the EAttribute definition, but just in case).

aranega/pyecore,pyecore/pyecore