Fix error checking for socket connections

- IO::Socket::UNIX->new should never die, therefore...
- $@ is always undef when the eval exits, so...
- use $! instead
Improve error messages

- Add "p0f" to error output to aide in debugging
- Remove some no-ops which called only '... if $@', in a context
  where $@ would never be set, or never be meaningful.
Merge pull request #175 from flimzy/p0f-errors

Improve error handling in p0f plugin
Update Qpsmtpd::DB to work with multiple stores
Qpsmtpd::DB::Redis

Not yet fully tested
Put off 'use' of child classes in Qpsmtpd::DB
Add tests for Qpsmtpd::DB
Remove outdated comment
Qpsmtpd::DB::File::DBM::new()

Qpsmtpd::DB::new() calls Qpsmtpd::DB::File::DBM::new(); if it's absent,
it calls itself recursively instead
Test greylisting against all available stores
Qpsmtpd::DB::Redis simplifications