checking in current progress on logging/cl overhaul
saner handling of console/file logging setup

- before this was a terrible block of if/elses
- now its just two ifs (plus one to catch the no logger case)
additional preparation before alterations to main

- various fixes and tweaks to many files in src/, in perparation for
  reworking splatfilch.py.  The following general changes were
  performed:

- .gitignore: cache was missing for some reason, and name of
  config file has changed.

- ArgSetup.py:  simplified argparser-to-dict conversion routie in get_cl_args
- ConfigFile.py:  configparser-to-dict conversion now also handles ints.
- Defaults.py:  changed default last_run date to None.

A note on the last_run change:  I think that given the nature of this
program, last_run is effectively the main requirement. Thus, we
shouldn't be guessing at what it is if we don't know; rather that is an
error, and the user needs to supply it.  It is worth noting too, that
the blank config file generation routine DOES pick the current time when
a file is made, however it is left commented and thus inactive
fixed bug causing command line args not to register

- also, sorted the output when running Support.py for convenience.
posting progress on main file rework

- splatfilch.py
    - ripped out previous preprocessing section
    - preprocesing section seems complete
    - added lots of comments
- configfile.py
    - removed lastrun format checking (moved to get_lastrun() in
      Support.py)
- LogSetup.py
    - returns the logging object instead of just setting it up
- Support.py
    - prepare_env() added: creates all needed folders
    - get_cache() added: opens or creates the cache
    - get_lastrun() added: returns datetime of last run, also
      verifies the format
    - check_connection() moved to Support, was in main
    - added all required imports
checking in current work, needs logging throughout
Merge branch 'iss73-logging-overhaul' into develop

this commit merges current development, which (incorrectly) was being
done on a feature branch, and also marks the first merge of the
new api (not yet formally defined, but see issues #71, #73, #79, #84)
into develop.

further development should be done on relevant feature branches
deviating from develop.