Less obtrusive addition of test hooks
Generalized method for test hooks
Move hook testing stuff to Test::Qpsmtpd

This makes it more available to plugins outside of t/plugin_tests/
Add some comments on uses for fake_{hook,config}
Take advantage of fake_hook() in existing tests
Don't disable greylist in absence of p0f argument
Less 'and'
Merge pull request #170 from jaredj/fix-exclude

Don't disable greylist in absence of p0f argument
More explicit explanations
Merge pull request #169 from jaredj/hook-testing

Generalize hook testing
Add testing for greylist()
Get rid of grey_timeout and 'white' clients

These are noops:  clients that retry before grey_timeout is exceeded and
clients that retry after grey_timeout is exceeded all pass greylisting until
expired by white_timeout.
Merge pull request #174 from jaredj/test-greylisting

Get rid of grey_timeout and 'white' clients
Fix name of default lock sub
Use child new() methods in Qpsmtpd::DB
Try each available key/val storage module

Right now there's only one available but that will change
Qpsmtpd::DB::Redis

Not yet fully tested
Put off 'use' of child classes in Qpsmtpd::DB
Add tests for Qpsmtpd::DB
No need for new() in Qpsmtpd::DB::File right now