Merge pull request #12 from amb43790/master

add POD
pull out can_transition for reuse
add can_release
queue up releases when in a state that can't directly release
add test for illegal transition during renewing
empty release queue when processing it
make _log_error a function

Make _log_error a function so release() callbacks during Daemon DESTROY
are not self-referential since callbacks are executed asynchronously.
switch from IO::Pipe to socketpair
add bidirectional communication with TestWebServer
add end-to-end test for release during renew
Merge pull request #21 from nnutter/fix_illegal_transition_during_renewal

Fix illegal transition during renewal
new debian release
integration test: try 20 second ttl
travis-ci: use depth=1 when cloning server repo
travis-ci: turn off pager for git show
Merge pull request #23 from mark-burnett/fix-travis-ci-integration

integration test: try 20 second ttl
unify the _failure_generator code for claims and releases
report response body in error messages
Add realistic looking response bodies in some tests
include response body in renewal 400 response