[[ SimpleUnitTests ]] Very basic unit test system via a 'Test' engine target.
[[ SimpleUnitTests ]] Low level (native code) based tests implemented.
[[ SimpleUnitTests ]] Added basic high-level test implementation - executes a 'test' handler in each livecodescript file in TEST_DIR env var.
[[ SimpleUnitTests ]] Various tweaks to make simple unit tests work
[[ Cleanup ]] Remove stray semicolon after #endif.
[[ Cleanup ]] Add many disambiguating paretheses and brackets.
[[ Cleanup ]] Use size_t for loop var when compared with sizeof().

Silences signed/unsigned comparison warnings.
Merge branch 'origin/develop' into misc-cleanup.
libfoundation: Provide ATTRIBUTE_UNUSED macro.

In some places, it makes sense to define (and possibly set) a
variable, but not to use it.  In that case,
__attribute__((__unused__)) to the variable suppresses compiler
warnings, e.g.

    int var_name ATTRIBUTE_UNUSED;

The alternative is to add a line:

    (void) var_name;

which will also suppress the warnings.  However, ATTRIBUTE_UNUSED is
more easy to search for across the source code.
[[ Cleanup ]] Prevent a large number of unused variable warnings.

In the advanced_imaging_combiner() template function, two alpha
channel variables were being set while decomposing colour information
but were not being used.  Since it makes sense to decompose all
channels, even if not all channels are needed, add ATTRIBUTE_UNUSED.

This prevents a set-but-unused warning from being emitted for every
single instance of the template.
perfect: Fix perfect hash generation on POSIX x86-64 platforms.

perfect used %lx and %ld to format 32-bit fields.  This caused
erroneous generation of engine/src/hashedstrings.cpp when compiling on
64-bit platforms using a POSIX-compliant libc.
[[ Bug 14031 ]] iOS pixelDensity not defined
Revert "[[ Bug 14031 ]] iOS pixelDensity not defined"

This reverts commit b60acff29cd6575c81002a7e0a93b816f5a968d4.
[[ FoundationRecord ]] Added MCRecordTypeInfoGetBaseType API.
libfoundation: MCRecordTypeInfoCreate(): Check p_base is actually a record type.
libfoundation: MCRecordTypeInfoGetBaseType(): Resolve & check passed type info.
libfoundation: MCRecordTypeInfoGetBaseType(): Correct header declaration.
libfoundation: Provide transparent access to fields of MCRecord base types.

A record which is built directly without extension should look the
same as one that is built by extension, from the point of view of API
consumers.
libfoundation: Add MCRecordTypeIsDerivedFrom().
libfoundation: Add record type conversion functions.

It's sometimes useful to be able to copy a record as a base type or as
a derived type.
libfoundation: Add MCAutoRecordRef.