Fix cpuid on windows 64bits so that the x86 backend is enabled as expected

unsigned long isn't 64bits on win64, so the cpuid assembly code fails to
build during configure (%ebx and %rbx gets mixed in the assembly),
and the entire x86 backend gets disabled.

Use hwloc_uint64_t instead. It needs hwloc/autogen/config.h which isn't
ready during configure yet, so manually add #include/#define during
the cpuid check.

Thanks to Robin Scher for reporting the problem.

(cherry picked from commit 23be199cf9ec1f16adbf475447eb8473916a27e6)