Issue52 - firewall input plugin and ACL addresses

Firewalling plus extra tests to keep at 100% code coverage.

I think it might be better to transform the input string rather than check the return of `gethostbyname` (or maybe do both). For example, we probably want to trim whitespace from the string before passing it to `gethostbyname`: after we do that, we can check whether the string actually exists (i.e. `if addr`). If `addr` isn't truthy, immediately return None. Relying on this weird behaviour of `gethostbyname` feels...off.