The temporary table detection and handling now uses C++ containers to store the set of temporary tables. The detection also uses the new query classifier field info API to detect which tables and databases are targeted.
Using new instead of malloc is required for proper initialization of C++ classes.
Compiling readwritesplit as C++ allows the use of C++ containers.