[MAT-387] Use shared_ptr for registers

Instead of using the PtrContainer<const OGNumeric*>, we now use
an std::vector<std::shared_ptr<OGNumeric*>> for the registers.

[MAT-387] WIP broken

[MAT-387] Use shared_ptr for ArgContainers

A large knock-on effect results from this change. The PtrVectors
are largely redundant so they are removed.

Changed to the dispatching to real16/complex16 AoAs were also
required to simplify things.

[MAT-387] Remove accidental double shared_ptr wrapping

[MAT-387] Correct segfault in pinvrunner

[MAT-387] Fix segfault in jdispatch test

[MAT-387] Fix some errors in check_expressions.

[MAT-387] (Unsafe) hacks to avoid crashing in check_expressions

[MAT-387] Add typedefs for non-generated nodes

[MAT-387] Add typedefs for generated classes

[MAT-387] shared_ptr typedefs for all numeric types

[MAT-387] Some shared pointer changes, librdag builds but is not linkable.

[MAT-387] Fixed linkage, but still no compilation

[MAT-387] Part conversion of equals test

[MAT-387] check_equals compiles, and does not segfault

[MAT-387] Lazily set _fuzzyref because we don't have a shared_ptr to pass to its constructor at the construction time of an OGTerminal

[MAT-387] More explicit comparison

[MAT-387] Remove extraneous new/delete

[MAT-387] Correct dispatch signatures

[MAT-387] Fix terminal test

[MAT-387] Fixx iss test

[MAT-387] Break cycles in FuzzyCompareOGTerminalContainer with a weak_ptr

[MAT-387] Reinstate deleted delete[]s

[MAT-387] Export all symbols

Temp disable test for debugging

Temp disable test for debugging

Temp disable test for debugging

debugging - re-enabling

debugging - re-enabling

debugging - re-enabling

debugging - re-enabling

Disable big tree

enable plus operation

small big tree

2.5k big tree

Check stack on debug builds

Revert "Check stack on debug builds"

This reverts commit 40ed3b4643dca5551562a141772e46fcd5963e07.

Test with 4MB stack and 5000-deep tree
[MAT-387] sed replace all pOG{Numeric,Terminal,Expr}
Use ::Ptr types
[MAT-387] Run sed command correctly this time, fix up compilation errors
[MAT-387] Get rid of remaining pOG...
[MAT-387][WIP] Make terminal constructors private and provide factories
[MAT-387] Terminal factories - compiles but tests fail
[MAT-387] Fix RTTI by using constructors of subclasses
[MAT-387] Correct type of logical matrix by using correct constructor
[MAT-387] Reset shared_ptrs in jterminals test

This is so that they can be deleted whilst the JVM and environment
is still around for their unbinding.
[MAT-387] Make Expr constructors private
[MAT-387] Delete dead code
[MAT-387-API] Delete more dead code
[MAT-387] Separate symbol visibilty and stack flags
[MAT-387] Remove stack flags
[MAT-387] Remove terminal methods that took a raw pointer
Revert "[MAT-387] Remove stack flags"

This reverts commit 624f32238db3e14aaa2cad1d6f1261652b44c9d7.
Revert "[MAT-387] Separate symbol visibilty and stack flags"

This reverts commit a18badaeae084918fa02e7aa300504ac1f183c18.
[MAT-387] Document windows flags
[MAT-387] Remove iss functions that take pointers