Updates to mailer and subscription classes to improve testability

- wrapper for mail() to allow overriding in test mock classes
- mailer property and accessor in subscription to allow alternate
  mailer objects/classes in testing