Avoid loops and calls of expensive methods

MRI2.0
------

* #frame_count counts the number of itens in
 `RubyVM::DebugInspector#backtrace_locations` instead of `callers.count`
* Refactor condition of `@iseq.nil?` on #frame_type and #frame_description
* Use a (1..n) mapping of bindings on #callers instead of looping
* Share code that setup the binding from a location for #callers
 and #of_caller

RBX
---

* #frame_count counts the number of itens in `Rubinius::VM.backtrace(1)`
 instead of `callers.count`
* Use a (1..n) mapping of bindings on #callers instead of looping
* Share code that setup the binding from a location for #callers
 and #of_caller