Switched to an iterative non-recursive unification algorithm, added custom unifiers.
Added matchString() --- a custom unifier that matches a regexp against a string, and tests for it.
Minor updates to preprocess().