task/ta-npp-001-01 -- identify P-type agents

nparcel/loader.py
* new method ignore_record() manages Business Unit rules that
  determine if a raw T1250 record should be ignored
task/ta-npp-001-02 -- incorporate the ignore_record() method into
processing work-flow

nparcel/loader.py
* update the process() method to support the concept of records to
  ignore
  by making a call to the ignore_record() method and then continuing the
  process flow
* process() method now can potentially return None to represent an
  "other" type of event (ignored records)
task/ta-npp-001-03 -- handle the None-type return from
nparcel.loader.process()

nparcel/daemonservice.py
nparcel/loaderdaemon.py
* factored out the reporter object to nparcel.DaemonServices()

nparcel/reporter.py
* modified the return format of the report() method to capture "other"
  status
Enhance the nparcel/loaderdaemon.py tests.
task/ta-npp-001-05 -- add aggregator to the config condition map

nparcel/b2cconfig.py
nparcel/conf/nparceld.conf
* added new option to the condition_map, "aggregate_files"
* new attribute "aggregator" which nominates the directory where
  T1250 loader files are aggregated for further processing
task/ta-npp-001-06 -- copy files to the aggregator directory

nparcel/loaderdaemon.py
* new method aggregate_file() that will attempt to copy file to the
  special
  aggregator directory for further processing
* new helper method distribute_file() that manages post-processing
  file distribution
* updated the process method to support copying of files to the
  aggregator directory

nparcel/utils/files.py
* new function copy_file() that attempts to copy source to target