Optimize `RSpec::CallerFilter`.

- Use `caller_locations` rather than `caller`. It's apparently
  much faster. I suspect that it's due to the fact that `caller`
  has to due some extra calculation for each stack frame in order
  to combine them into a full line description string, where as
  `caller_locations` returns an object with the separate stack
  frame attributes and does the full line description calculation
  when you call `to_s`.
- Immediately return when we have the line, rather than updating `i`
  and `increment` for now reason.

/cc @xaviershay 
Yep.  This is pretty standard in our rspec repos.  The Gemfile evals the custom file if it is present:

https://github.com/rspec/rspec-support/blob/3a03131e75fe2b6e33d5770901bf1aac5b9a3013/Gemfile#L21

The idea is that the custom file can have extra dependencies not needed by our CI builds (or by contributors running the same build items as CI runs).  In this case, I added `benchmark-ips` to my `Gemfile-custom` so it would be available for use in my benchmark script.