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.
change ASN lookup to Google Public IPs

which is expected be quite stable
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
watch: imported to new branch
watch/server: wrap loading of connect and ws in try

and log error if they can't be loaded
watch: only load hooks when ws & connect load successfully
watch: moved port & ssl settings into watch.ini
watch: TLS off until explicitely enabled
watch: client now learns wss URL from the server
watch: removed server:name_map (send full plugin name to client)

JS client strips off phase prefix and otherwise shortens plugin names for presentation
client makes DOM element names CSS compatible
watch: get default WSS host from config/me
watch: add CSS for menu, QUEUE red for rejects, with msg
watch: check fcrdns before length
watch: only send plugin result when data exist

previously, an empty object was sent. Now that the watch client dynamically redraws the form to show new plugins, this avoids reporting empty data for plugins that are not active.
watch: call get_remote_host during deny() hook

so it shows up in connections that are rejected at hook_connect
watch: added docs about wss_host usage
watch: get_generic_results now merges conn & txn results
watch: updated for new 'relay' plugin
watch: on hook_deny, pass along params to helo,mail,rcpt collectors

so rejected args get shown in watch output