getFiniteStringsRecursive

Simple, original implementation of getFiniteStrings.

Returns the set of accepted strings, assuming that at most limit strings are accepted. If more than limit strings are accepted, the first limit strings found are returned. If limit<0, then the limit is infinite.

This implementation is recursive: it uses one stack frame for each digit in the returned strings (ie, max is the max length returned string).