Implement pragma(mangle, "...") to override the mangled symbol of a variable/function declaration.

See the test for what this allows the programmer to do.

I deliberately decided not to care about cases like this one:

    pragma(symbol, "foo") __gshared int bar, baz;

In all likelihood, it will not do what the user expects in the general case, but I wasn't sure if there might be some obscure use case with weak symbols or something like that, so I left the possibility there.