fix duplicate *data* constructors
also fix duplicate *type* constructors
clean up error reporting
Merge pull request #381 from bcdarwin/master

Add check for duplicate constructors within the same unit