geoip: use net_utils.get_public_ip

with backwards compat (if locally set)
geoip: added geoip-lite to optional deps

and made tests condition, based on if geoip-lite is installed
geoip: added callback, b/c that's what get_public_ip needs
qmd: bug fix, for incorrectly specified variable
syslog: only run tests if able to load node-syslog
Merge pull request #540 from msimerson/syslog

syslog: only run tests if able to load node-syslog
Merge pull request #539 from msimerson/qmd

qmd: bug fix, for incorrectly specified variable
Merge pull request #537 from msimerson/geoip

geoip: use net_utils.get_public_ip
weirdly related enhancements

* move is_ipv4_literal from plugins/helo.checks to net_utils
	so it's available for the SPF plugin

* SPF: skip HELO tests for IP literals

* SPF: when a connection has relaying permissions, use our (Haraka's) public IP in the SPF mail_from query, to determine if Haraka has permisison to send on behalf of that MAIL FROM domain.

* move the public_ip setting out of config/connect.geoip.ini to config/smtp.ini, used by GeoIP and SPF plugins.

* updated connect.geoip to use boolean config options