work around strange link error with clang on Mac OS X
update to work with Universal Interfaces 3.4
use std::regex instead of boost::regex when available