Normalize module paths for `TypeUniverse`
If a type was referenced in both the UDL and proc-macro code, then the
`TypeUniverse` code could fail because the module paths didn't match up.
See the proc-macro fixture changes for an example of this.
To fix things, I made the TypeUniverse code normalize the `module_path`
to be just the crate name. This is unfortunate, but at least we can use
full module paths in the pipeline code.
Fixes #2728.