Improve debug output for JIT inlining

This also prints all types for all other cases in the inlining when we
don't inline or inline a primitive.
Turn callsites into monomorphic sites

This makes sure these call sites don't go polymorphic when using
different String subtypes. This happens quite a bit in Rails, where
different types end up being used.

By calling .equal? on undefined, we make sure we check against the same
object all the time, turning the call site monomorphic and better
inlineable.
Use binary encoding directly instead if finding it with the index