move external type definitions to new cpp files
put definitions into namespace
Merge pull request #1494 from karlnapf/develop

move external type definitions to new cpp files