moved config loads into into register w/callbacks

enable 'use strict'
moved skip_list & skip_list_exclude from globals into plugin object
load_excludes & load_clamd_ini are loaded in register with callbacks
clamd: test updates due to reload changes
add additional clamd tests
replace some indention with earlier loop exiting
clamav: revert karma.ini changes

instead, added clamd to the "allow reject" list in karma plugin
early_talker: add tests

refactor a little for testability and simplicity
auth_base, spf, jslink fixups
auth_base: 31 new tests

$ ./run_tests tests/plugins/auth/auth_base.js
Running tests:  [ 'tests/plugins/auth/auth_base.js' ]

auth_base.js
✔ hook_capabilities - no TLS, no auth
✔ hook_capabilities - with TLS, auth is offered
✔ get_plain_passwd - get_plain_passwd, no result
✔ get_plain_passwd - get_plain_passwd, test user
✔ check_plain_passwd - valid password
✔ check_plain_passwd - wrong password
✔ check_plain_passwd - null password
✔ select_auth_method - no auth methods yield no result
✔ select_auth_method - invalid AUTH method, no result
✔ select_auth_method - valid AUTH method, valid attempt
✔ auth_plain - params type=string returns OK
✔ auth_plain - params type=empty array, returns OK
✔ auth_plain - params type=array, successful auth
✔ check_user - bad auth
✔ check_user - good auth
✔ hook_unrecognized_command - foo
✔ hexi - hexi
✔ base64 - base64
✔ base64 - unbase64

OK: 32 assertions (1116ms)
a few more tests for hook_unrecognized_command
moved base64 methods from auth_base to utils

and updated smtp_client to use from utils
updated auth_base tests with new base64 location
updated path to base64 in auth_proxy
added 'tests/plugins/auth' to ./run_tests

so now auth tests are run
auth_vpopmaild: removed an incomplete test
Merge pull request #708 from msimerson/clamav-gsb

clamd: load config once with callback
Remove useless "use strict";
Merge pull request #688 from msimerson/early_talker

early_talker: add tests
Merge pull request #701 from msimerson/lint

auth_base: 36 new tests
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()