(CFACT-65) Replace RE2 with boost::regex

Removes dependency on RE2. Uses an adapter class and function to abstract
regular expression calls so it's easier to modify or switch packages if
necessary (for speed or Unicode support), and simplify the call interface.
Can this be limited to just specific allowed types?