Modularize registering optional p0f hooks
Block clients with OS matching phrases and regexes

Not yet tested
Tests for ident/p0f register_headers()
Fix variable name in ident/p0f that caused a crash
Better fake_config() in t/plugin_tests/content_log
Make fake_config() available to all plugin tests
Tests for ident/p0f register_genre_blocking()
Fixes for ident/p0f register_genre_blocking

- Make regexes case-insensitive (I don't want to mess with modifiers)
- Don't compile non-regexes as regexes
Tests for ident/p0f rcpt_handler()
Fix missing assignment in ident/p0f rcpt_handler()
Remove unnecessary // from check_genre()
Add tests for check_genre()
Tests exclude_connection() and exclude_recipient()
Remove modifier from POD
Merge pull request #165 from jaredj/p0f-block

Support list of client operating systems to block
More readable output for some auth.t tests
Merge pull request #166 from jaredj/auth-test-output

More readable output for some auth.t tests
Turn warnings into $qpsmtpd->log() calls

This can be convenient, especially when one wants to emit a warning that will
show up when running the test suite but still be properly logged in production
Change qw() to qw[] in warn_level()
Add some documentation