Resolves: #182621 (#443955)
Summary: Allow larger regex buffer to enable long substring filters
Description: Applying the patches provided by ulf.weltman@hp.com.
regex.c: use dynamically allocated regex buffer, use ptrdiff_t to store
the offsets to be restored after the realloc, and use a constant for the
value of "how much the NFA buffer can grow in one iteration on the pattern".
string.c: use dynamically allocated buffer if the prepared buffer is not
large enough, used wrong pointer (pat instead of p) in a debug message,
and performed an unneeded strcat of ".*"