SMTP: don't create new Transaction at disconnect

the current result of passing a DENY* response is a new transaction. That seems wrong.
Merge pull request #106 from msimerson/disconnect

SMTP: don't create new Transaction at disconnect
Q::hooks(), accept a hook name argument

and return a useful result
Merge pull request #108 from msimerson/hooks

Q::hooks(), accept a hook name argument
updated MANIFEST

adding t/config/users.cdb (goes with closed PR #102)
Merge pull request #109 from msimerson/master

updated MANIFEST
POD fixups
add --tags to 'git describe'

'git describe' calculates the version since the last **annotated** diff. Adding --tags shows the most recent tags (v0.94, for example) regardless if they're annotated or not.
put git version detection code into a sub
remove test counters from plugin tests

replace with done_testing(), which provides the same "make sure to kvetch if tests fail to run" without requiring humans to do the bookkeeping.
Merge pull request #111 from msimerson/pod

POD fixups
Merge pull request #107 from msimerson/version

add --tags to 'git describe'
Merge pull request #110 from msimerson/tests

remove test counters from plugin tests
async removed

1. the known users of async don't upgrade
2. async becomes a win when concurrent connections exceed a few hundred simultaneous
3. anyone that needs async should be looking at Haraka instead
4. the perl async dependencies aren't maintained
Merge pull request #114 from msimerson/async

async removed
updated MANIFEST
Merge pull request #115 from msimerson/async

updated MANIFEST
qpsmtpd.t: added tests for hook_responder
Qpsmtpd: style changes in hook_responder
added test for run_continuation