Added ConvertTo<*> methods in exec.cpp, and eval_<*> methods in express.cpp
Added Eval(Optional)ExprAs<Type>() methods in exec.cpp, where <Type> = BooleanRef, DataRef, etc
[[ RefactorSyntax ]] EP-less implementation of MCChunk::getobj added
[[ refactorSyntax ]] All MCChunk's EP-based functions replaced with EP-less ones
The EP-based methods are now based on an MCExecContext
[[ RefactorSyntax ]] MCChunk's functions using EP reverted
They were wrapping the new EC-based functions, but issues arose
[[ RefactorSyntax ]] EvalOptional updated for MCRectangle, MCPoint and MCColor to allow the use of nil pointers
Merge remote-tracking branch 'upstream/refactor-syntax_unicode_shims' into refactor-syntax_unicode_shims3

Conflicts:
	engine/src/exec.cpp
	engine/src/exec.h
[[ RefactorSyntax ]] Added MCExecContext::EvalOptionalExprAsNullableStringRef allowing to have a nil StringRef returned
Merge remote-tracking branch 'upstream/refactor-syntax_unicode_shims' into refactor-syntax_unicode_shims3
Replaced calls to EvalOptionalExprAsStringRef() with EvalOptionalExprAsNullableStringRef()
[[ RefactorSyntax ]] MCArrayRef, MCDataRef and MCNameRef equivalent to EvalOptionalExprAsNullable<...> added
Merge remote-tracking branch 'upstream/refactor-syntax_unicode_shims' into refactor-syntax_unicode_shims3
Replaced EvalOptionalExprAsNameRef() calls with EvalOptionalExprAsNullableNameRef()