Attempts to prune a stacktrace to omit the Rust runtime, and returns a bool indicating if any
frames were pruned. If the stacktrace does not have any local frames, we conclude that it must
be pointing to a problem in the Rust runtime itself, and do not prune it at all.
Report an error or note (depending on the error argument) with the given stacktrace.
Also emits a full stacktrace of the interpreter stack.
We want to present a multi-line span message for some errors. Diagnostics do not support this
directly, so we pass the lines as a Vec<String> and display each line after the first with an
additional span_label or note call.