* Implementing structured logging
* Changes to en.json to allow refactor to run.
* Fixing global logger
* Structured logger initalization.
* Add caller.
* Do some log redirection.
* Auto refactor
* Cleaning up l4g reference and removing dependancy.
* Removing junk.
* Copyright headers.
* Fixing tests
* Revert "Changes to en.json to allow refactor to run."
This reverts commit fd8249e99bcad0231e6ea65cd77c32aae9a54026.
* Fixing some auto refactor strangeness and typo.
* Making keys more human readable.
* Adding durafmt library and use it from enterprise global relay export
* Allow to specify different server host and server name on smtp connections
* Fixing utils/smtp tests
* Isolating configuration, sending emails and connection to SMTP.
* Building smtpAddress once
* Remove unnecesary errX variables
* Moving mail connection information to new data structure
* Added username to ChannelMemberHistory struct in anticipation of supporting GlobalRelay in Compliance Export
* Removed translation from debug output - this makes it complicated to use utils functions from tests in the enterprise repo
* Added an advanced email function that allows for greater control over message details. Updated MessageExport config to support GlobalRelay. Added attachment support to InBucket unit tests
* Moving templates in from enterprise to solve test issues
* Added export format to diagnostics
* Changed email attachment code to use FileBackend so that S3 storage is properly supported
* Implementation to Make all Mattermost system emails Multi-Part, with both a HTML and Plain Text version
* update lib
* update code per review
* update to use the mattermost repo
* Adding go vet to the api package
* Adding go vet to app package
* Adding go vet to manualtesting package
* Adding go vet to the model package
* Adding go vet to the store dir
* Adding go vet to utils package
* Adding missing dirs with go files
* Fixing up makefile
* Fixing up makefile
* Removing root dir
This allows mattermost to use a non-tls connection with a SMTP server that
supports PLAIN auth (but not LOGIN). The go library explicitly allows PLAIN
auth over non-tls connections - https://golang.org/src/net/smtp/auth.go#L55Fixes#2929