server: consistent config handling

* added load_smtp_ini() with booleans + callback
* merged apply_defaults into load_smtp_ini
* replaced config loading (3x)
* removed cfg passing

It's not yet a convention in our code, but what I've been using consistently
in the plugins and elsewhere is:

   cfg = a reference to whatever is returned by config.get()
   c = a reference to something within cfg

* used named (vs inline anon) functions
* add aliases for host and port (increase readability)