Merge pull request #143 from ladislav/SAVE_SERIES

Includes a variety of fixes and improvements to functions/closures and their related bindings (8 of which were previously posted). Many thanks to Ladislav for his deep analysis and modifications.
Suppress compiler warnings.
Delete REBDCL type definition (no longer used in code).
Based on mul64 since it updates reb-c.h
Get rid of INT_64_MODE (the code is not consistent with its opposite anyway)
Use C99 integer definitions where available
Prevent word duplication when appending to an object
Fix CC#1979
Optimize the code to not use search
Fix 'self handling described in CC#2076
Rebased on Collect_Obj fix to not cause crashes in 64-bit R3
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__
Use uintptr_t for int and pointer conversion in Do_Callback
Return uintptr_t from RL_Series

Because it could also return a pointer
Shut off the compiler complain
Change destination type to uintptr_t for pointers

Match the function prototype
Fix the size of the REBCNT

it's a 32-bit integer, so it takes 8 hex characters.
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 also makes it possible to save 64-bit integers as gob data on 64-bit systems