Since we now reread the configuration files on occasion, the options given
at the command line could be overwritten. To avoid this, we save the
command line options and always use them if present.
We add command line options for the user to change the start, stop, speed,
ifdown, and stampfile settings at runtime. This closes a Debian wishlist
bug [1].
Note that, in order to have the command line options overwrite the
defaults set in the configuration file, we split the command line parsing
code into a new function (parse_cmdline()). We then merged main() and
wmppp_routine().
We document the new options in the help text and in the man page. We also
take the opportunity to reformat the help text for the -i option and add
the -geometry option to the man page.
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293839
We actually include <sys/socket.h> instead of <bits/socket_type.h>, as it
returns an error: "Never include <bits/socket_type.h> directly; use
<sys/socket.h> instead."
Fixes "warning: null argument where non-null required" compiler warnings by
not passing NULL to strdup and "(warning) Conversion of string literal to
bool always evaluates to true" found by cppcheck.