(Pre-existing) Large parts of the code for deny and accept seem to be identical, modulo s/allow/deny/g.
TODO: extract what can be into a function, ideally letting us write code like
```
if (!FindACLMatch(hostname, acl->allow) ||
    FindACLMatch(hostname, acl->deny))
{ reject } else { accept }
```