Beginnings of the "pass everything using a native type wrapper" console code.

- ConsoleValue class is now the base value class.
- ConsoleValueRef is now used to supply function parameters. Values are disposable.
- Script functions return values instead of just strings where possible.
- Variables can be disposable strings
- Bytecode changed

Fix the issues with console method parameters and fields which prevented missions from loading.
Optimize variable-to-variable assignment
Improvements to console refactor code

- Prevent stack corruption in a few places
- Use correct type in printfs
- Reduce type conversions in EngineApi & dAto*
- Fix compilation on GCC
- Tidy up code
Add new instructions to the instruction dumper
Signed values now set/get from the float value. Also add a bool helper.
Prevented looking up incorrect object handles.

Previously, dAtoi would be called on arbitrary strings delimited
only by the / character. Now, Sim::findObject actually checks that
object handles (strings starting with a digit) actually only contain
digits or slashes.
Merge branch 'consolefuncrefactor' of https://github.com/jamesu/Torque3D into consolefuncrefactor
Fix WaterObject TODO: Retrieve sampler numbers from parameter handles, see r22631.
Insert TS function var names in the precompile step, allowing unreferenced parameters to be used
Changed method of releasing a physics body with physx 2.8
Fix for unexpected behavior described in issue #704
Replaced existing Vector tests.
Merge branch 'add-gtest' into gtest-tests
Align test file name with actual file name.
Removed existing test framework. Now we just fix compiler errors!
Ported maths tests and added a test for #570.
deprecated functionality. T3D handles this in the reflector class.
implicit truncation warning cleanup.
col is a float4,   LUMINANCE_VECTOR a float3. results seemed cleaner this end doing a dot of the rgb than padding the lum
explicit downcasting for some halfs