task/ta22-22 -- Nparcel ftp.py module boilerplate

nparcel/ftp.py
* new module structure
Merge branch 'dev' into feature/us22
task/ta22-23 -- integrate config

nparcel/conf/npftp.conf
* sample config file used for testing

nparcel/ftp.py
* new methods set_config_file(), _parse_config() to manage the
  configuration items
task/ta21b-01 -- factor out update and create from nparcel/dbsession.py
to nparcel/loader.py
task/ta21b-02 -- integrate existing connote check

nparcel/loader.py
* update update() method so that it incorporates the existing connote
  check
Merge branch 'feature/us21b' into dev
Merge branch 'dev' into feature/us22
task/ta22-24 -- factor out BU_MAP to the config file

nparcel/conf/nparceld.conf
* new "file_bu" section to replace the BU_MAP global

nparcel/config.py
* update to support the new "file_bu" section

nparcel/loader.py
* replace BU_MAP global with configured "file_bu"

nparcel/loaderdaemon.py
* initialise a Loader() object with file_bu argument (taken from config)
task/ta22-25 -- exporter should not write file if no collected items are
detected

nparcel/bin/npexporterd
nparcel/bin/nploaderd
* pidfile now writes to the ~/.nparceld directory

nparcel/dbsession.py
* subtle formatting mod to the ISO time

nparcel/exporter.py
* extensive mods to bypass report write if no collected items are
  detected

nparcel/exporterdaemon.py
* update the _start() method to handle the new processing workflow of
  Exporter()
task/ta22-26 -- FTP identifies report file and generates list of
signature files
task/ta22-26 -- add functionality to FTP files
task/ta22-27 -- delete local file on successful transfer

nparcel/bin/npftp
* process() method accepts "dry" argument

nparcel/ftp.py
* method xfer_files() provides exception check around the login process
* method xfer_files() now supports delete on successful transfer
Roll over to version 0.5