configfile: fixed inverted logic for config watch

If no options passed, defaults to not watching. The intention for this was to
provide a way to disable watching explicitely. This restores 'watching on by
default' behavior with the ability to disable it selectively.
Merge pull request #709 from msimerson/asn-test

change ASN lookup to Google Public IPs
Merge pull request #707 from msimerson/config

configfile: fix inverted logic for config watch
first whack, needs work
new method get_listen_addrs() from createServer()
add express to package.json
moved get_listen_addrs() into listen_${prot}_

methods
exit early instead of indenting entire code block
logger: more testable and readable

adds logger.levels
populate constants from levels
extracted an anonymous function expression into log_if_level()
adds add_log_methods(), populates an object with logging methods

adds tests for log_if_level() and add_log_methods()
logger: add optional 'plugin' arg to log_if_level
refactored get_smtp_server out of

setup_smtp_listeners.