Merge pull request #1538 from peter-b/develop

libfoundation build fixes for Linux and OS X.
libfoundation: MCRecordTypeInfoIsDerivedFrom() should use MCTypeInfoConforms().

It's best to only have one implementation of the same algorithm!
libfoundation: Correct MCRecordHash logic.

Two record values are only the same if they have the same named
typeinfo, and the same values in each field.

This makes it less likely that __MCRecordHash(a) == __MCRecordHash(b)
when __MCRecordIsEqualTo(a,b) == false.