FreeBSD: Cleanup the gathering of the physical memory

Even if the doc says this sysctl wants an int, it's actually a u_long
in the kernel. Don't pass a uint64_t directly.
NetBSD: add total memory detection, similar to FreeBSD
cpuid-x86: Fix duplicate asm labels in case of heavy inlining on x86-32

hwloc_x86_discover() calls hwloc_look_x86() twice, which calls hwloc_have_x86_cpuid().
If everything gets inlined, the asm label inside hwloc_have_x86_cpuid()
is duplicated.
Use a local label with f annotation in jumps to avoid the problem.

Thanks to Thomas Van Doren for reporting the issue (found with gcc -m32).