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
Clarify doc
Fix unstable use of $1 in Qpsmtpd::warn_level()
Merge pull request #168 from jaredj/warnings

Turn warnings into $qpsmtpd->log() calls
Try to load geoip1 before geoip2
Warn about lack of ASN data when GeoIP2 is loaded
Merge pull request #167 from jaredj/prefer-geoip1

Prefer Geo::IP over GeoIP2
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
update tcpenv and lrpip calls to use -> syntax