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.
Avoid passing Qpsmtpd object refs around

Use an instantiator in Qpsmtpd.pm for creating Qpsmtpd::Address objects instead
Fix crasher

Add missing 'use' and use get/set method for cleaner storage of QP object
Merge pull request #84 from jaredj/per-recip-config

Add hook_user_config