Improve error message for generic types with underscores.
Improve error message for generic types with underscores.

mangle_name converts Foo<Bar> into Foo_Bar, and asserts
that the parent type name doesn't already contain underscores.

Report the offending type in the assert message so it's easier
to track down the problem, and add a unit test for this requirement.

eqrion/cbindgen,eqrion/cbindgen,rlhunt/cbindgen,eqrion/cbindgen,rlhunt/cbindgen