defect/de02 -- copy over the connote into the item_nbr field if it is
empty

nparcel/loader.py
* FIELD global now slurps the Item Number
* JOB_ITEM_MAP now maps to the FIELD['Conn Note'] if empty

nparcel/loader.py
* updated the table_column_map() method to support the "default_equal"
  option which maps current field to that of an existing field.

nparcel/table/jobitem.py
* updated the "job_item" schema to support the new "item_nbr" column
defect/de03 -- dodgy postcode should not fail processing

nparcel/loader.py
* updated the translate_postcode() to check if postcode integer cast
  fails before further processing
Removed unneccessary duplicate sleep period.
task/ta-log-01 -- log.py can rollover logs

Makefile
* do not need to specify a LOG_CONF during make.  If a test is run, it
  will automatically dump to console without configuration file support

nparcel/bin/npexporterd
nparcel/bin/npftp
nparcel/bin/nploaderd
* start action will force a roller if required

nparcel/utils/log.py
* default configuration of the root logger if a configuration file is
  not found
* new function rollover() which is specific to a
  TimedRotatingFileHandler handler.  It will force a rollover
  of the logs as per the requirements outlined in the logging
  configuration
task/ta-email-01 - integrate the new nparcel/emailer.py module

nparcel/emailer.py
* new Emailer() class to support email messaging
task/ta-email-02 -- integrate emailer into nparcel/bin/nploaderd

nparcel/emailer.py
* rework of the send() method to capture exceptions and handle empty
  recipient lists

nparcel/loaderdaemon.py
* integrate the nparcel/emailer.py module
* updated the _start() method to send email comms if an erroneous
  record is detected during processing

nparcel/reporter.py
* report() method now returns a report string, not log report
* deprecated the "email" attribute as emailer.py handles email
  functions directly
feature/us-email-03 -- provide config items to the emailer

nparcel/config.py
* new email attributes, support_email and special_email

nparcel/emailer.py
* update send() method so that the sender includes the FQDN
* support for a list of recipients

nparcel/loaderdaemon.py
* emailer.set_recipients accepts the configured email addresses
defect/de04 -- strip microseconds from PICKUP_TIME column in the
exporter report file

nparcel/exporter.py
* updated the _cleanse() method so that it handles datetime objects
  from the MSSQL instance
special/sp-01 -- enable email notifications

nparcel/emailer.py
* send() method now returns a status result

nparcel/loader.py
* process() method now accepts an email address list as an argument
* process() method now sends out email notifications with the
  inclusion of of the send_mail() call
* new method send_mail() which manages customer email comms

 nparcel/loaderdaemon.py
* support for "special" email notifications

nparcel/table/agent.py
* new method agent_id() which is a SQL wrapper to return return Agent
  details of a given id
special/sp02 -- SMS comms

nparcel/config.py
* enable support for the special_sms attribute

nparcel/loader.py
* process() method is now SMS send aware
* new method send_sms() to the list of Send out SMS comms to the list
  of provided mobiles

nparcel/loaderdaemon.py
* now SMS send aware

nparcel/reporter.py
* deprecated the failed_log attribute

nparcel/smser.py
* SMS support