mangle C++ basic_string, basic_istream, basic_ostream, basic_iostream

This should complete the special C++ name mangling rules on Linux.
IMHO this is a textbook illustration of why early returns are good: when reviewing this code, I've experienced a "garden path sentence" phenomenon: seeing the if had me push context mentally, thinking that something interesting will come after it. But no, it turns out there's nothing interesting following the if - not on the else branch, not after it all. Better code:

```d
if (!components_on)
    return 0;
... bulk ...
```