feature/us-93 -- refactor work across nparcel/comms.py

nparcel/comms.py
* class Comms() now inherits from nparcel.Service() to utilise
  the generic DB connectivity
* __init__() method paramater list converted to varargs
* factor out the template_base attribute as this is now taken from
  nparcel.EmailerBase()

nparcel/commsdaemon.py
* update the _start() method to build a kwargs structure to
  initialise nparcel.Comms()
* refactor the nparcel.Comms() kwargs initialiser with new
  properties sms_api(), email_api() and comms_kwargs()

nparcel/emailer.py
* factor our the template_base attribute as this is now taken from
  nparcel.EmailerBase()

nparcel/emailerbase.py
* make the template_base attribute a part of nparcel.EmailerBase()

nparcel/restemailer.py
* break the multiple inheritance arrangement.  nparcel.Rest is now
  a component class
nparcel/restsmser.py
* nparcel.RestSmser() now has its own instance of the template_base
  attribute so that it can build SMS messages from a templated source
* refactor the create_comms() method so that if the base_dir parameter
  is not None it can override the template_base attribute's value