Remove StringValue calls from match.c
Remove StringValue calls from match.c

These calls were probably always overly defensive (for example, the
`needle` already gets submitted to a StringValue call by the caller, and
the `str` value is effectively always a string because the scanners
consistently provide strings; if they didn't, exceptions would be being
thrown here).

So, this is an unnecessary guard, but another reason why it's worth
getting rid of is that it involves touching the Ruby runtime (it's a
macro which expands to several nested function calls, in which it is
possible that exceptions can be raised; see string.c and object.c in the
Ruby source tree) which is considered unsafe in a threaded environment.

If my assumptions here prove to be incorrect, we can always add back
some explicit "String-ness" enforcement, but if we do have to do that,
we'll do it at the Scanner level.

One thing to note: I was hoping that this might give us an infinitesimal
speed-up, seeing as we're doing ever so slightly less work now, but the
benchmarks show that there is no measurable difference.

Signed-off-by: Wincent Colaiuta <c76ac2e9cd86441713c7dfae92c451f3e6d17fdc@wincent.com>

vrkansagara/command-t,wincent/command-t,supriyantomaftuh/command-t,1234-/command-t,mtimkovich/command-t,1234-/command-t,yrro/command-t,simichaels/dotfiles,lencioni/command-t,supriyantomaftuh/command-t,vrkansagara/command-t,lencioni/command-t,besarthoxhaj/command-t,besarthoxhaj/command-t,wincent/command-t,wincent/command-t,simichaels/dotfiles,yrro/command-t,mtimkovich/command-t