Outbound logging and hook improvements
Merge with upstream
Fix docs
Fix #691 and fix double-spaces after colon
Merge pull request #689 from smfreegard/master

Misc updates.
SpamAssassin plugins fixes
Make space between header and field optional in SpamAssassin plugin
Merge pull request #692 from smfreegard/master

SpamAssassin plugin fixes
Fix parsing of URIs that have been URL encoded
Merge pull request #698 from smfreegard/fix_uri_parser

Fix parsing of URIs that have been URL encoded
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)