Mail: deprecated mail.fromaddress, reformatted mail.from to Title <emailaddress>

Closes #4018, #4082

* reformatted code to allow for traversal
* deeper config items should be denoted like this: `object.object.object.property`.
* added tests for testing the deprecation warnings

---

* cleaned up `mail_spec.js`
* deprecated `mail.fromaddress`
* implemented 'Blog title <email@address.com>' format with fallbacks
* added tests to deprecation and from address, made existing ones more robust
* moved domain intuit into its own module: `GhostMailer.getDomain()`

Left them as two separate commits on purpose.
Hm, `.calledWith` needs to have all the arguments correctly. I still expect the first line to be yellow, the second to be white, the third to be green. And we can make sure that the exact verbiage ( bizspeak :heart: ) stays. It's an easy change though if there's more opposition to this.