task/ta-npp-003-10 -- introduce concept of FTP direction flow

nparcel/ftp.py
* factor out the outbound file transfer from process() method into
  new method called outbound()
* update process() method to support concept of "direction" via the
  FTP instance config
task/ta-npp-003-11 -- FTP connect and disconnect control

nparcel/ftp.py
* new method connect_resource() and disconnect_resource()factor
  out the FTP connection and disconnection as this is common
  across all types of transfers
* placeholder method inbound() for new inbound transfer facility
task/ta-npp-003-12 -- get remote server directory listing

nparcel/ftp.py
* expand inbound() method to handle FTP connection and remote
  directory listing
* new method filter_file_list() ilters list of files based
  on the filter
task/ta-npp-003-13 -- retrieve remote files

nparcel/ftp.py
* new method get_files() retrives files defined by
  files list
task/ta-npp-003-14 -- retrieve remote POD files

nparcel/ftp.py
* new method get_pod_files() to retrieve POD files
  associated with list of report files
defect/de-19 -- filterdaemon.py failing when writing out to more
than one output file

nparcel/filterdaemon.py
* updated the close() method so that it removes the reference to the
  file handle once the file is closed
task/ta-npp-003-15 -- integrate POD files and remote deletions

nparcel/ftp.py
* updated the process()method to distinguish between inbound
  and outbound transfers
* updated the inbound() method to support "partial" downloads
  and delete on transfer
* updated the inbound() method to conditionally download POD
  files for associated report files