Rather than doing this in several places that pass `orig_caller`, what do you think about passing `caller` and then changing `MessageExpectation` (or whatever the internal class is that uses this--I'd have to look at the code locally to confirm) to run `first_non_rspec_line_in_caller` at the point that it actually needs the caller line?  I think it only needs it when raising errors.  The more common case is it not raising an error (and thus not needing the caller line at all), and it seems wasteful to do an O(N) search over the caller _every time_ a method is mocked or stubbed.  I expect doing this would improve perf more.

Thoughts?