preamble: clamp frames when there are too many
we have numerous limits in place that we'd exhaust if we just send a thousand or so frames. instead only send a number of frames
this refines the previous behavior of setting a global limit. we can do better than a global limit in our preamble script since we can fairly efficiently iterate and discard excessive amounts of frames. this allows us to only dicard the middle portion of a trace while preserving the beginning and the end.
currently we'll take 100 frames from the beginning (origin of the stack) and 28 from the end (the bit closer to the crash) the reason for this is that if it is an exhausted stack we'll want to care more about where we came from then where we ended up looping
we can't do this for the textual trace of gdb so we continue to simply put a limit on the backtrace for that via gdbrc