formula_parser to support different name resolver types.
Hide the name resolver concrete class.
rename formula_name_resolver_a1 -> excel_a1.

Short name now that it's just a hidden implementation detail.
Rename test name accordingly.
Skeleton name resolver for ODFF.
Make these methods inline, now that the whole class is hidden.
Handle single cell reference in ODFF.

Much of the code is a re-use of existing Excel A1 name resolver.
Some cleanup.
Use to_address() for this.
Handle range reference name resolution for ODFF.
Simplify get_name() implementations of formula name resolvers.

Those that take absolute address / range without anchor position should
simply re-use the other variants that take address_t / range_t with
anchor position.
parser_formula_string() and print_formula_tokens() to take name resolver.

To prevent each call from creating a resolver instance which is a waste
especially when calling these functions repeatedly.
Fix variable description.
Let's not store formula_name_resolver instance in model_context.
Fix built-in AVERAGE function when its has range reference as input.
Use multi_type_matrix to implement ixion::matrix.

mixed_type_matrix has been long deprecated.
Use relative A1 style for displaying cell names again.

It looks better this way.
Remove 2 of the 4 variants of get_name() from formula_name_resolver.

To simplify the interface a bit.
Support stream output of range_t and address_t.