[[ Cleanup ]] Functions with __attribute__((__noreturn__)) must not return.
[[ Cleanup ]] Non-void functions should return a value or fail.

There are several cases where non-void functions dispatch on a switch
statement which does not cover all possible values.  Add a default
clause which aborts in order to ensure that the switch statement does
not fall through.
Merge pull request #1567 from peter-b/develop

libfoundation: __MCTypeInfoResolve(): Sanity check for unbound named types
Merge branch 'develop' into misc-cleanup.
[[ Cleanup ]] libfoundation: Define __MEDIUM__ on x86-64, rather than __HUGE__.

 __MEDIUM__ is 64-bit pointers and 32-bit offsets; __HUGE__ is 64-bit
pointers with 64-bit offsets.

This is a follow-up from an incomplete change made in commit
1943132aef48.
[[ Cleanup ]] libfoundation: __MCStreamHash(): Use MCHashPointer().

On some platforms, sizeof(hash_t) < sizeof(void *).  Using
MCHashPointer() ensures that this is handled correctly.
[[ Cleanup ]] libfoundation: Define platform macros to 1.

Make consistent with other platforms.
[[ Cleanup ]] libfoundation: Add CODEPOINT_NONE constant for codepoint_t values.

libfoundation defines constants for limits of most basic types, but
none for codepoints.  In the engine source, there are places where a
codepoint_t variable must be checked for or assigned an value that
corresponds to no valid Unicode codepoint.  Often the value -1 is
used, but this triggers warnings.

This patch adds a CODEPOINT_NONE constant that can be used instead of
-1 in these situations.
[[ Cleanup ]] MCBlock::fit(): Compare codepoint_t to CODEPOINT_NONE.
[[ Cleanup ]] MCBlock::drawstring(): Compare uindex_t to UINDEX_MAX, not -1.
[[ Cleanup ]] Avoid narrowing conversions when constructing MCRectangles.
[[ Cleanup ]] MCBlock::fit(): Remove set-but-unused variables.
[[ Cleanup ]] MCBlock::GetFirstLineBreak(): Remove set-but-unused variable.
[[ Cleanup ]] MCBlock::drawstring(): Remove set-but-unused variable.
[[ Cleanup ]] revxml: Use const C strings whereever appropriate.

Removes a large number of GCC "write-strings" warnings.
[[ Cleanup ]] revdb: Unsigned int is not a pointer type.
[[ Cleanup ]] revdb: Remove some unused variables.
[[ Cleanup ]] revdb: Remove some set-but-unused variables.
[[ Cleanup ]] revdb: computehash(): Remove unused function.
[[ Cleanup ]] revdb: _strrev(): Remove unused function.