No longer log a message in socketmanager's destructor.
The instance of socketmanager is static global, and bits of the logging
infrastructure may be destructed before it is, leading to use after
free et al.
This bug was found by AddressSanitizer.
If user-requested user lookups fail, display a message box saying so.
Minor refactoring.
Use unique_ptr for socketmanager timer and timeout.
Move remaining socketmanager member initialisations inside the
class declaration.
Initialise a few values which the compiler warns may be used
uninitialised.