[MAT-387] Make Expr constructors private

This makes the remaining constructors for OGNumeric subclasses
private and provides factory methods for them.
[MAT-387] Remove methods that took raw pointers

This includes some methods from OGTerminal, and some iss methods.
[MAT-387] Add doc comments, remove dead code
[MAT-387] Use const refs where possible
[MAT-387] Reinstate disabled checks