Allow more varied SMTP configurations

Requires smtps:// prefix for SSL, allows non-SSL config with smtp://
No longer requires username or password
Adds support for port
Fix missing 'error' key in output
Merge pull request #219 from shahyar/development

SMTP and error handling fixes