task/ta-nst-011-04 -- scaffolding for the new Xlwriter() class
task/ta-nst-011-05 -- introduce openpyxl base into module structure
task/ta-nst-011-05 -- add new folder structure to package build
task/ta-nst-011-06 -- write out Excel headers

nparcel/xlwriter.py
* new class callable __call__() method to write out Excel file
* __call__() method simply accepts headers and writes out
  initial file construct only at this time
task/ta-nst-011-07 -- factor our the alert() method from
nparcel/daemonservice.py into nparcel/emailer.py so that other modules
can benefit from the comms facility

nparcel/emailer.py
* move old alert() method from nparcel/daemonservice.py into
  send_comms()
task/ta-nst-011-08 -- new output reformatting methods

nparcel/writer.py
* new method filter() which takes a list of column headers and filters
  the row based on the list of headers_displayed
* new method header_aliases() which substitutes the raw header values
  with aliases
task/ta-nst-011-09 -- Xlwriter() formatting

nparcel/xlwriter.py
* updated the process() method to incorporate header aliases and column
  width settings
task/ta-nst-011-10 -- email attachment support

nparcel/emailer.py
* update the create_comms() method to handle email attachments
task/ta-nst-008-16 -- extract more detail for stocktake reports

nparcel/table/jobitem.py
* extend column extraction in _select_columns() method
task/ta-nst-011-11 -- Xlwriter to write out data

nparcel/xlwriter.py
* update the process() method to output the data column
Merge branch 'task/ta-nst-011-11' into feature/us-nst-011
task/ta-nst-008-17 -- scaffolding for the new UncollectedDaemon() class