Root class for option expression behavior.
Expression are used to compute state of options (validity, visibility, ...).
Expression are reified to generate documentation and avoid raw Java runtime code in
multiple option interaction.
Runtime evaluation follow Java semantic.
For example, in a || b expression, b is not evaluated if a is true.