Task API main Task function tweaks
   * void run(..) -> void run(..) throws TaskException, MessagingException, DAOException
   * void doMain(..) - int doMain(..)
   * doMain catches all exceptions and logs appropriate error message
   * return value from doMain is used to indicate Task exit value