Add CopyElementAs{Boolean,String,Number,{Unsigned,}Integer,Real,Array} to MCExecContext

These are equivalents to the similar functions in MCExecPoint
Merge branch 'refactor-syntax_unicode' into refactor-syntax_unicode_fetch
Add MCExecContext::CopyElementsAs{StringArray,Filepath,FilepathArray}

These methods copy an element as an array of strings, a path to a file or an array of paths to files, respectively.
Add CopyOptElementAs{String,Filepath}{,Array} to MCExecContext

These are identical to their non-optional bretheren except that they assign the destination to the empty string or array (as appropriate) if the named element is not present in the source array.
Add CopyOptElementAsBoolean method to MCExecContext

Copies a boolean element from an array or, if it doesn't exist, sets the desination to kMCFalse.
Add MCNAME: an equivalent of MCSTR for NameRefs

Does exactly what it says on the tin.
Update the deploy code to use StringRefs in most places.
Add missing MCExecContext::ConvertToArray implementation
Corrections to CopyElementAsStringArray and ConvertToArray

The former should split a string into an array, not assume an array of strings in the first place. The second lacked a required typecast.
Merge branch 'refactor-syntax_unicode' into refactor-syntax_unicode_fetch
Fix a build error on Linux
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_fetch

Conflicts:
	engine/src/exec.cpp
Refactor creation of MCDeployParameters structure
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_fetch

Conflicts:
	engine/src/deploy_sign.cpp
Merge branch 'refactor-syntax_unicode_fetch' into refactor-syntax_unicode