more tests for Qpsmtpd.pm
auth_vpopmail_sql: wrap DB connect attempt in eval
Merge pull request #100 from msimerson/qpsmtpd.t

Adds tests for Qpsmtpd and new Qpsmtpd::Config
Add hook_user_config

This adds a hook_user_config for plugins designed to return per-user
configuration directives.  Qpsmtpd::Address::config() triggers a
hook_user_config plugin.
Add user_config example plugin

Add a plugin to read qpsmptd-style configuration files from users' home
directories.  Little to no testing yet.
Follow upstream convention in shebang

Our fork uses '#!/perl (Editor hint)' but upstream normally uses '#!perl'.  Conforming to upstream.

FWIW, the Kate editor recognizes the former as perl for the purpose of syntax highlighting but does not recognize the latter. But the one guy I know who uses Kate didn't take the opportunity to object :)
Tests for Qpsmtpd::Address::config()

Tests for the new Qpsmtpd::Address::config() which should call hook_user_config plugins
Add docs and flexible path to user_config plugin

I needed to make the path modifyable for testing anyway, might as well make it
actually usable.  Not yet tested.
Don't use config cache for hook_config plugins

Conflig plugins can do their own caching:  there's no telling what might change
their return values over the life of the config cache.
Fall back correctly between config methods

hook_user_config no falls back to global hook_config followed by
file-based config followed by %defaults
Move test sub definition to the bottom
Use a loop to make test data clearer
Remove an unintentionally commited subroutine
Qpsmtpd::config() tests
Add tests for user_config plugin
Fix pattern substitution in user_config plugin
Correct number of user_config tests
Avoid warnings on undef hook_config returns values
POD updates, corrections, and clarifications.
Another minor POD update.