Add internal checking of mangleChar

Not sure what to expect from the autotester, though I suspect is this will fail because symbol mangle names may be generated even in fail tests.

This sort of ty checking is useful for gdc, where the compiler emits assembly code rather than direct to object file.  Because the ``@`` character being invalid in most backends of gas, this change enforces that the frontend doesn't leak mangling of bad types to the backend.  The alternative being (this has happened in the past) bad code to be silently compiled and causing assembler errors for other compiler backends later down the line.