MRG: move conditional compiling to C

We were using conditionals in the Cython file, but this means that we can't any
longer ship valid .c files with the release, and we would have to depend on
Cython at build time, even for releases.

Try moving the OpenMP defines into a C header so that the check for OpenMP
happens at C compile-time not Cython compile time.