Elide push and pop addresses from drmemtrace traces
Splitting out from #2001 to make it easier to track.
Today memtraces elide base+disp addresses with the same base register as a prior recorded address where there's no write to the register in between. However, pushes and pops do write to the register. These are structured writes that can easily be reconstructed in post-processing, however. This issue covers adding that reconstruction and elision.