fix(model): check for already existing definitions

- if non model types are used a redefinition of all types is
  executed, therefore we have to check if extension types, attributes
  or child types are already defined