smtp_client: move 5 STATE_ vars into object
line_socket: rename socket to 'socket' (was: self)
smtp_client: moved STATE_* vars into STATE object

and renamed self -> client (meaningful)
smtp_client: handle timeouts in a more robust way

set a default if whatever val arrives doesn't parseInt()
smtp_: more linear code
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
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
Merge branch 'cleanups' into toaster
Merge branch 'cleanups-more' into toaster
Merge branch 'config-plugins' into toaster
Merge branch 'dkim' into toaster