Merge pull request #1536 from peter-b/develop

libfoundation: Synchronise MLC changes to 'develop' branch.
libfoundation: Define pointer type limit macros correctly on LLP64.
libfoundation: Ensure that SIZE_MAX and SIZE_MIN are defined.

These are defined by default on OS X but not on Linux (because
stdint.h is automatically included by the OS X compiler).
libfoundation: Use MCValueIsRecord() instead of __MCTypeInfoGetTypeCode().
    
The latter function was removed in the MLC branch.
libfoundation: MCHandlerTypeFieldInfo no longer has a 'name' member.

Look for the custodian in the 'type' member instead.
libfoundation: Include <ffi.h> without 'ffi' directory.

This more closely matches the libffi headers' standard installation path.
libfoundation: Update Makefiles with new source files from MLC branch.
[[ Build ]] Linux: Temporarily use system libffi.

Before the next release it will be necessary to import the Linux
libffi source files into thirdparty.