server: corrected defaults applying

and adds test coverage for config loading
Whilst I understand the need for this right now (e.g. to pass the tests) - but I consider anything using `no_cache` to be the wrong answer to a problem.   I don't think we should ever have considered adding this option in the first place.

We either need to fix the underlying issue or move public_ip out of smtp.ini and into it's own file to avoid this (I realise that would potentially break someone's configuration - however I think this is warranted to avoid the penalty that this will impose).