Add 64bit popcnt, make use of POPCNT instruction

By using Intel's POPCNT instruction, we can speed up popcnt by a fair amount. I have not done measurements myself, but according to benchmarks others have made, it should run at least 3 times as fast as non-sse implementations.

Furthermore, this PR will also allow to pass 64bit integers to popcnt.
If it's not RISC then why is it called "Advanced RISC Machine"? It's unlikely to implement POPCNT in the future when it doesn't even have simple instructions such as division or multiplication. But that's beside the point.

What I will change though is to only choose the hardware way on X86/X86_64 if it has POPCNT, as it only implements those right now. IBM Stretch, CDC 6000, SPARC V9, and Alpha 21264A also have a popcnt instruction, but I haven't written an implementation yet. Anyway, this shouldn't go in popcnt_hw but in the static constructor.