Global update of doas utility with breaking backwards compatibility.
attribute.h:
New header, which allows use gcc's and clang's attributes
when they are available.
compat.h:
Moved from compat/compat.h and now contains much more
different compatibility code.
compat/*.c:
Just little modifications.
doas.c:
Add new -c option (see doas(1)). Too much refactored.
env.c:
Add action field in struct envnode which explains which action
will be applied to the environ this struct contains.
Also too must refactored.
parse.y:
Add new keywords: inheritenv, unsetenv, execute and "..." (ellipsis).
Usage of keepenv keyword a bit changed.
Also now you can specify how many seconds you prefer to persist after
last password authentication.
Add string lists which allow to do not rewrite same rule many times and
allow to permit user to execute some different commands in one rule.
scan.l:
New file. Lex description for the doas's lexer for parser.
The hand-written one will be removed someday or rewritten to be
more readable and reliable.
rule.h:
New header which contains the description of the struct rule.
timestamp.c:
Add support for FreeBSD. Use *at() functions for more safety.
wrappers.h:
New header which contains wrappers for some of the functions.
yystype.h:
New header which contains struct yystype description for parse.y
and scan.l