Only warn for unknown --enable/--with options

Follow the guidelines in
<http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/
html_node/Option-Checking.html#Option-Checking>
and print a *warning* if there is an unknown --enable-* or --with-*
option, error otherwise. --disable-option-checking does not turn off the
errors, but silences the warnings.
Allow variables and options in any order

Traditionally, options are put before any other command-line arguments.
However, dunecontrol puts variable assignment before options, like env,
and this confuses getopt.

This variant (based on a suggestion by Andreas Lauser) collects the
variables into an array at the same time as the options are processed.
Only make actual directory names canonical

If the directory that is specified does not exist, then keep the path
as entered, which makes for better error messages later.

We cannot print an warning on a non-existent name, because it may be
target directories that are specified, or perhaps logical options
(like --with-mpi=yes)
Merge pull request #176 from rolk/176_optcheck

Perform option checking in ./configure like autotools does