Add hook_user_config

This is what our fork has been using to get per-recip config values for some years.  There's been some question as to whether the hook_config API could be extended instead.  I haven't written any unit tests yet, but will do so if we don't decide I'm rewriting the code first.
@msimerson - This is not always the right thing to do; it should be removed, and I'd like to remove it in this PR because it will make it easier for me to finish the code.  What do you say?

$_config_cache appears to exist solely for the purpose of caching the return values of hook_config plugins (get_qmail_config, which is responsible for fetching values from config files, already has its own cache).  When I added hook_user_config, I bypassed this cache, knowing that it would break per-recipient configuration.  I found some bugs in this code and when I revisited it I realized that the same problem applies to hook_config plugins:  who knows how they will determine what to return?  A global cache like this is totally unsuitable for Qpsmtpd::config(), if any caching is in order for hook_config plugins it should be done in the plugins themselves.