…shtable
Refactors raw2trace's instruction record keeing to store a vector of instructions inside a per-block structure. The per-block structure is hashed instead of individual instructions, and with a last-block cache, lookups are greatly reduced. This improves performance (by 18% with no i/o) and eliminates the importance of using hashtable_t, allowing us to switch to a C++ hashtable as part fo moving raw2trace away from full DR and to drdecode for #3316 (closed).
Further refactors set_instr_summary() with create_instr_summary() to avoid an extra hashtable lookup inside get_instr_summary().
Also moves va_start inside the if() in log() to reduce the time spent there when logging is off.
Issue: #4060 (closed), #3316 (closed) Fixes #4060 (closed)