Add convenience var_val_t::const_string field

Handy to create variables.  No need to write explicit cast to get rid of
constness.
Extract private header of engine/options

Will be used by the engine/parsing unit.
Fix a typo in utils/str.h

str -> src
Turn OPTION_NAME_MAX macro into a constant
Define allowed chars for option names
Introduce ampersand token into engine/parsing
Extract engine/parsing.c:read_sequence()

Parses:
sequence ::= first { other }
Add &optname syntax to parser
Add ASSERT_INT_OK() to parsing unit-tests
Add parser unit-tests for &optname syntax
Add "pseudo" parameter to complete_option_name()

Controls whether pseudo options should be enumerated (e.g. "all").
Add options.c:complete_real_option_names()

Completes names of real options (no pseudo options like "all").
Introduce commands.c:command_accepts_expr()

Checks whether command accepts exception as its argument(s).
Complete expressions for :if command
Complete &optname syntax on command line
Document &optname syntax
Extract ui.c:update_geometry() function

Updates internal data structures to reflect actual terminal
geometry.
Make terminal geometry options valid in vifmrc
Merge branch 'add-ampersand-terms'

Add &option syntax for expressions (returns value of an option).