Tidy code and make bind failure delay use pam_fail_delay and pause other requests.

This diff probably looks quite scary, but I've broken it up into separate little commits that are less intimidating.

The first couple are mostly just code tidyups, but the last commit changes the bind failure delay handling a fair bit.