Added alternate regex engine using trees

this should resolve efficiency issues associated with performing _match_prefix() for every binary regex operation in a regex.