Eliminate excessive subroutine overhead

Now that the refactoring made the structure of the algorithm clearer,
it was apparent that procesing everything word by word while
regex matching a string is pretty inefficient.

This commit splits text to be stripped into an array then iterates
the array, munging each word until it can be checked against the
stopword list.  That cuts out two method calls per word.

The stopword checks still involve two method calls per word, but
I think collapsing everything back into the loop would make the
code less readable, so I think that inefficiency is the cost
of clarity.