Introduce RE building blocks to conf.awk
Allow comments in configuration files
Count all syntax errors
Add (strippable) comments to conf.awk
Relax variable setting syntax
Enhance has/get instruction syntax
Combine (un)set instr.s into put instruction
Optimize get_si() and get_vi() in conf.awk
Make get_sn_vn_vv() non-destructive in conf.awk
Suppress empty sections in conf.awk
Add multi-file capability to conf.awk

This affects several places:
1) Introduce AV <-> AI map in BEGIN action and
   rename output file from cfpn to ai2av[ac] in END action.
2) Add (FNR == 1) action which clears the modification count and
   maps FILENAME to a proper AI when another input file is encountered.
3) Maintain SI -> AI map in set_si() and use it to only write sections
   mentioned by the last (input/output) file in END action.
4) Maintain (SI,VI) -> AI map in set_vi() and use it to only
   a) unset variables in `put' instruction as well as
   b) write variables in END action
   mentioned by the last file.

Also note that the instruction stream (stdin) doesn't count as file.
Add multi-file capability to libconf.sh

Multi-file capability requires a change to libconf.sh's API. In order
to not break existing applications, the new function conf_init() allows
them so select the (default) old or new API.

The new API mainly changes the order of arguments so that `ITEM[=VALUE]'
comes first, followed by one ore more CFPNs which are read in the order
given (silently ignoring any nonexisting CFPN). It also merges the func-
tionality of conf_set() and conf_unset() into conf_put(), i.e.:
  - conf_exec(CFPN ...),
  - conf_has(ITEM[=VALUE] CFPN ...),
  - conf_get(ITEM[=VALUE] CFPN ...),
  - conf_put(ITEM[=VALUE] CFPN ...), and
  - conf_getenv(VARIABLE ITEM[=VALUE] CFPN ...).

Also with the new API, any changes made with explicit `put' instructions
fed to conf_exec() or invocations of conf_put() will only be written to
the last CFPN specified.

Note that the old API will be deprecated with release 0.4! By that time,
all applications not yet converted to the new API must explicitly invoke
`conf_init old' for still using the old API. Otherwise, the new API will
be assumed by default.

Closes: #19