Performance enhancements for StringExtensions

Use the overloads which accept the number of args we need instead of
using the params call which results in an array being created every
time.