add back the has_xxx workaround for msvc if used with nvcc

In boostorg/mpl#8 I scoped a workaround to the affected versions of msvc. It turns out that breaks CUDA builds with nvcc. This fine-tunes the workaround for that case. I would dearly love this to be in the upcoming release.