[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] Document windows flags

[MAT-387] Remove comment (will be handled in another ticket

[MAT-387] Delete dead code

[MAT-387-API] Delete more dead code
[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] Remove terminal methods that took a raw pointer
[MAT-387] Remove iss functions that take pointers
[MAT-387] Comment on terminal container
[MAT-387] Add some comments, delete some dead code
[MAT-387] Make some things const refs

Make things const where possible

[MAT-387] More const

[MAT-387] More const refs, simplify runtree cleanup

[MAT-387] Make more things const refs
[MAT-387] Reinstate disabled checks
[MAT-387] Fix up after rebase