Update MCSystemPick to take a StringRef

Updated for both Android and iOS (not used on desktop; Android is a nop)
Updates on MCSession methods
Updates on MCServer* methods
Updates on srv multipart
Add MCNAME: an equivalent of MCSTR for NameRefs

Does exactly what it says on the tin.
Stack loading code now uses StringRefs/NameRefs
Replaced MCmessagenamestring with MCN_messagename
Some more updates on methods at 'Extras' tab
Updates after Seb's feedback
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_MCSession
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_SrvMultipart
Add new method MCVariable::set(MCExecContext&, MCValueRef)

This is analogous to the existing set(MCExecPoint) method. Unlike the setvalueref(MCValueRef) method it does the same synchronization at the EP set.
Remove GetEP() calls from the MCServerExecPut* and MCServerExecEcho methods

Only the desktop version of MCS_put has been updated; the others are pending.
Update MCS_put to not use ExecPoints on mobile platforms
Changed MCS_put to take an ExecContext for server builds
Add ConvertToBinary to MCExecContext

For ValueRefs that aren't already a DataRef, this converts to a string and then creates a DataRef out of the native bytes of the string.
Change MCU_puturl to use an ExecContext instead of an ExecPoint

An overload still taking the traditional EP has been provided for existing callers.
Change MCNetworkExecPutIntoUrl to no longer use GetEP

Does its thing using an ExecContext instead of an EP now.
Updates after Seb's feedback
Updated signature of cgi_get_upload_temp_dir()