* breaking: remove `SocketUser.emailConfirm`, re: #10954
* chore: move email confirmation related configs to own section in Settings > Email
* feat: new user email method `getValidationExpiry`, returns expiration in ms.. probably.
* fix: bug where `user.email.isValidationPending` returned an u nexpected non-boolean value if there was no confirmation pending (only when checking email as well)
* fix: update getValidationExpiry to return ms
* test: use emailConfirmInterval for tests, for now
* fix: throw friendly error when attempting an email change within email confirmation window
* feat: new config option `emailConfirmExpiry` in days, governs how long the confirm link is good for
* test: additional tests for user email methods
* fix: add back missing handling of option
* test: fix tests
* Removed invalid options for the sendmail transport that were causing Nodemailer to return the SMTPTransport instead.
* Removed options for rate limiting in admin email interface. Added new option for toggling whether to use pooled connections.
* Fixed typo at emailer.js line 66 (serice -> service)
* When custom SMTP user and password is empty no authentication is attempted
* Added options to choose custom smtp connection security
* Made custom smtp connection security strings translatable
* Changed switch to if-else for custom smtp security option
* Fixed emailer.js lint errors
* Move custom setting to top of list