[Console] Add a concept of 'tail' arguments

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This PR introduces the concept of a "tail argument". It is essentially an extension of the concept of `InputArgument::IS_ARRAY` that allows the last argument in the command line to unconditionally capture all the remaining arguments, whether they look like options or not.

The use case targeted here is the one of command lines that chains or wrap other command lines. It makes possible to implement those without forcing the user to use the `--` separator to explicitly separate the options of the wrapper with the options of the wrapped command (at least when they are non-overlapping).
IMO, this is bad DX. Adding the ``IS_TAIL`` flag should add ``IS_ARRAY`` automatically (by using 12 as value for the constant)