mangle C++ basic_string, basic_istream, basic_ostream, basic_iostream

This should complete the special C++ name mangling rules on Linux.
The tests are in a `#if __linux__ || __APPLE__ || __FreeBSD__` block, along with `#include <memory>` and `#include <vector>`.  This include should probably be in the same block.