merge of '2139fa117e35116a6d728cc58b050fd5fa20994f'
     and 'a25b72d98eb3f88fcf577fabfcd430ef0758debc'
merge of '5f4aa843bb54591e6bcdf6db6efecf1cb5937638'
     and 'bf98faaf2da19ead6fe6c795e488a7fae04804d2'
Remove unused fields. Thanks Clang
Add a generic 64x64->128 multiplication op.

Use it to merge mp_msvc64 (was using MSVC _umul128 intrinsic) and
mp_asm64 (was using inline asm) into mp_word64, which calls the new
mul64x64_128 function. That function wraps any available compiler
intrinsics or CPU instructions.
Merge mp_word64 into mp_generic

Now 64-bit limbs can be used regardless of processor, though we
continue to use 32-bit unless we know the processor natively supports
64-bit operations.