More modular extension system. Adding or removing an SMTP extension still
ultimately requires editing a hard coded variable, but at least the code
will be better organized.