More fixes

more constexpr to macro, more noexcept to macro
string's IsSplitTarget was bombing (integral_constant not seen as
constant expression - sigh) - so pulled it out into the two components
that worked and "doubled up" templates
make sure portability is included