Remove reference to formula_expression_ref.
Stop treating expression_ref as a pointer, and add an interface!
Replace .sub().size() with .size().

This is in preparation for determining letting the size be 0 if we don't
have an expression.
Replace E.ptr()->clone() with E.clone_expression().
Add more clone_expression().
Avoid using ptr() in operator<<
Switch to using an object_ptr<const Object> internally.
Fix typo.
Actually avoid creating unneeded expressions.
Avoid performing dynamic_casts to determine atomicity.
Add bare pointer versions of convert( ) and convert_and_check( ).
Use the pointer version of convert.
Don't convert object_ptr< > to object_ref!
Speed up get_reg_value_in_context(,)