updated to have a centralized C++11 check and overridable resulting define