add a new platform 0.4.40 for linux_x64
define __LP64__ for linux_x64
fix int types for __LP64__
correct some sizeof asserts for __LP64__
uintptr_t for int and pointer conversion in Do_Callback
return intptr_t from RL_Series

because it could also return a pointer

pointer is unsigned
shut off the compiler complain
change destination type to uintptr_t for pointer conversions
change type of Stack_Limit to uintptr_t

because it can be used as an address
shut off the compiler complain about type conflict
rearrange for better alignment

i64 needs to be 8-byte aligned
comment correction
add a FIXME in comment

if the length is not the multiple of wide, the size will not be
recovered in Free_Series_Data.
convert the address to intptr_t instead of int
change from REBCNT to uintptr_t for the pointer
shut off the compiler complain

This needs to be more carefully examined
Rename Long_To_Bytes to REBCNT_To_Bytes

and Bytes_To_Long to Bytes_To_REBCNT. Because the implementation assumes
the size of Long is 4 bytes, which is not the case on 64-bit systems.
change type of handle to uintptr_t
loosen the memory limit on 64-bit systems
change all unsigned long to SHA_LONG for 64-bit systems

where SHA_LONG is defined as u32. This fixes the problem that checksum
differs every time.