Fuzzy patterns work and doesn't prevent named groups from working

* Unnamed groups referenced by number/index will fail insidiously, matching and then retrieving/acting on the wrong substring
* Any typos in unnamed/uncaptured groups (like "(set|new)" in set_topic) will not match
* fuzziness only applies to outermost unnamed/uncaptured group (group 1)
* regex is used in place of re throughout all plugins and mixins, even those not using fuzzy features