task/us68-ta82 -- Create a simple throwaway method to re-archive
existing FTP files

nparcel/ftp.py
* updated the archive_branch() method signature to include the "ymd"
  attribute so override the timestamp token from current time if
  supplied
* new method migrate_archived_files() identify old-style archived files
  and migrate to the new archiving arrangement

nparcel/utils/files.py
* patch bug in the move_file() function as it was ignoring the "err"
  parameter and unconditionally moving aside file that failed the move
task/us68-ta80 -- documentation update
Merge branch 'dev' of https://github.com/loum/nparcel into dev
task/de07-ta86 -- New config item to define the prod instance hostname

nparcel/b2cconfig.py
nparcel/conf/nparceld.conf
* support for new config item "prod"
task/de07-ta87 -- Refactor the SMS comms facility to be "prod" aware
(REST Interface)

nparcel/commsdaemon.py
nparcel/comms.py
* integrate the "prod" config item

nparcel/comms.py
* update the send_sms() method so that the create_comms() call
  includes the "prod" attribute as a parameter

nparcel/restsmser.py
* update the create_comms() method signature to include "prod"
  parameter that represents the name of the production instance
* new method add_test_string() that dd TEST token to the SMS
  XML message construct

nparcel/rest.py
* new attribute "hostname" that captures the name of the machine
* __init__() method generates and populates the "hostname" attribute
task/de07-ta88 -- Refactor the e-mail comms facility to be "prod"
aware (REST Interface)

nparcel/emailerbase.py
* new attribute "hostname" that captures the name of the machine

nparcel/restemailer.py
* RestEmailer() class now inherits from nparcel.Emailer()
* new method check_subject() that checks if current hostname
  matches prod.  If so, subject line is prepended with a special
  TEST ONLY descriptor
* update the create_comms() method signature to include "prod"
  parameter that represents the name of the production instance
defect/de-07 -- Alerting Error Notifications to be Environment
Specific

nparcel/restemailer.py
nparcel/smsemailer.py
nparcel/utils/files.py
* factor out the templated-based message construction into a separate
  function, templater()
* update the create_comms() method to use the
  nparcel.utils.files.templater() function

nparcel/restemailer.py
* refactor the get_subject_line() method to use the
  nparcel.utils.files.templater() function

nparcel/comms.py
nparcel/restemailer.py
* refactor the send_email() method to support the refactored
  nparcel.restemailer.get_subject_line() method
* move the subject generation logic from the process method into the
  nparcel.restemailer.create_comms() method
task/de07-ta87 -- Refactor the SMS comms facility to be "prod" aware
(REST Interface) (update 2)

nparcel/restsmser.py
* refactor the create_comms() method to build non-prod detail from
  a template file rather than altering the XML on the way through
task/de07-ta88 -- Refactor the e-mail comms facility to be "prod"
aware (REST Interface) (update 2)

nparcel/restemailer.py
* extend the non-PROD notification to within the email message

nparcel/templates/email_non_prod_html.t
* new email message notification content
task/de07-ta89 -- Refactor the e-mail comms facility to be "prod"
aware (SMTP Interface)

nparcel/restemailer.py
nparcel/emailer.py
* factor out create_comms() and get_subject_line() from
  nparcel/restemailer.py to nparcel/emailer.py

nparcel/daemonservice.py
* new method send_table() that sends an email alert via the
  SMTP gateway based on tabular data

nparcel/loaderdaemon.py
nparcel/exporterdaemon.py
nparcel/filterdaemon.py
* refactor the alert email comms call to use the new
  nparcel.daemonservice.send_table() method

nparcel/b2cconfig/exporterb2cconfig.py
* factor out the Exporter config items into their separate module
task/de07-ta85 -- documentation update
Delete subject_pe_html.t -- not sure how this got in there ???
Roll over to v0.32
Merge branch 'defect/de-07' into dev