remove duplicate methods
logger: added missing semicolons
check for util.inspect.colors (see also #632)
logger, 3 changes to improve testability

1. move variables to into class (testability)
2. added "return true" when methods exit normally
3. replaced a === NaN  with isNaN()
log.syslog: test improvements
tests/logger.js: added
tests/logger: pass tests on node 0.8
dkim_sign.md: added DNS note (Issue #631)
auth_vpopmaild: mention vuserinfo in sysadmin docs

to point users towards the tool that sets up a user with SYSADMIN privs
Update auth_vpopmaild.md
configfile: added options.no_watch, skip watch when no cb

* add a missing semicolon
* added options.no_watch
* if there's no callback, don't watch the config file (pointless)
* a potential fix for Issue #621, assuming I guessed Steve's intent correctly
configfile: s/jslint/jshint/
change warn to notice for connection drop & half

closed
logwarn -> notice for line length exceeds msg
connection: connection error warn -> notice

If Haraka is behind HAproxy, with TCP checks enabled, it will log many, many
of these warnings, and they aren't really 'errors' per se. NOTICE should be
plenty of priority.
headers: skip from_match if MF is null
fcrdns: check validity of orgDomain before using

fix for crashing Issue #664
uribl: fix for CRIT (see below)

Aug 31 11:23:17 filter1-mail haraka[73661]: [CRIT]
[7B9E9C9A-D4B7-492E-B32D-3D0C116CF333.1] [core] Plugin data.uribl failed:
TypeError: Cannot read property 'bodytext' of null     at extract_urls
(/usr/local/lib/node_modules/Haraka/plugins/data.uribl.js:350:40)     at
do_body (/usr/local/lib/node_modules/Haraka/plugins/data.uribl.js:327:9)
at chain_caller
(/usr/local/lib/node_modules/Haraka/plugins/data.uribl.js:340:9)     at
do_msgid_header
(/usr/local/lib/node_modules/Haraka/plugins/data.uribl.js:321:9)     at
chain_caller (/usr/local/lib/node_modules/Haraka/plugins/data.uribl.js:340:9)
at do_replyto_header
(/usr/local/lib/node_modules/Haraka/plugins/data.uribl.js:311:9)     at
chain_caller (/usr/local/lib/node_modules/Haraka/plugins/data.uribl.js:340:9)
at do_from_header
(/usr/local/lib/node_modules/Haraka/plugins/data.uribl.js:301:9)     at
chain_caller (/usr/local/lib/node_modules/Haraka/plugins/data.uribl.js:340:9)
at Plugin.exports.hook_data_post
(/usr/local/lib/node_modules/Haraka/plugins/data.
spamassassin: check transaction before accessing

so that this error doesn't happen:

Aug 31 16:01:09 filter1-mail haraka[73661]: [CRIT] [-] [core] TypeError:
Cannot read property 'message_stream' of null
Aug 31 16:01:09 filter1-mail node[73661]: [CRIT] [-] [core]     at
Socket.<anonymous>
(/usr/local/lib/node_modules/Haraka/plugins/spamassassin.js:32:31)
Aug 31 16:01:09 filter1-mail node[73661]: [CRIT] [-] [core]     at Socket.emit
(events.js:117:20)
Aug 31 16:01:09 filter1-mail node[73661]: [CRIT] [-] [core]     at
Object.afterConnect [as oncomplete] (net.js:886:10)
SPF: Catch any regexp errors, fixes one part of #666