Run threads in a deterministic order.

    This makes sure that we match the correct possibility, and
    we always pick corectly. Before this change, depending on the
    string length we would flip the order of the threads, meaning
    that, for example:

        (a?)(a*)

    would match "aaa" as ("a")("aa"), but would match "aaaa" as
    ("") ("aaaa").

    This fix corrects the issue, always greedily matching from left
    to right.
Merge branch 'master' of git+ssh://git.eigenstate.org/git/ori/libregex
Remove incorrect comment.