Add rough getopt usage

This adds various command-line switches to lswm to set some things which
will be implemented in the future.
Add xsprintf() wrapper

Wrap sprintf() wrapper to control error messages, etc.
xasprintf:  Use vasprintf() not asprintf()

When interpolating a variadic list, use the variadic version of asprintf()
to avoid memory corruption, etc.
Add strtonum as compat

This adds a compat/ directory containing the source to strtonum; sometimes
found outside of BSD.
Add set_display() for setting DISPLAY

This reworks earlier logic to connect to a given DISPLAY.  Rather than
forcing the user upfront to set DISPLAY beforehand, it is now set if -d is
given.
log_fatal:  Call exit and close log file

* Make log_fatal() really mean fatal by exiting when it's finished.

* Ensure any log file which might being written to is flushed and closed
  before exiting.
lswm.h:  Whitespace fix