Introduced TASK_ERROR for unrecoverable errors

Review: https://reviews.apache.org/r/27685
Introduce mutex configure check

* Introduce mutex to the configure check
* Document availability of mutex in style guide

Review: https://reviews.apache.org/r/27354
Introduce enable_shared_from_this configure check

* Introduce enable_shared_from_this to the configure check
* Document availability of enable_shared_from_this in style guide

Review: https://reviews.apache.org/r/27356
Added CRAM-MD5 Test Authenticatee Module.

Review: https://reviews.apache.org/r/27493
Integrated CRAM-MD5 Test Authenticatee module into slave.

Also fixes messages.proto to use a raw bytestream instead of a string
for AuthenticationStartMessage as non CRAM-MD5 authentication may
transmit binary data.
Note that the change of AuthenticationStartMessage does basically have
no impact on C++ based proto code other than the prevention of a
warning due to non-UTF8 characters being encoded. That does in fact
occur when using non CRAM-MD5 based SASL authentication mechanisms.

Note that this patch covers modularized slave authentication only.
Framework authentication is currently covered by the default (built-in)
implementation. There will be a subsequent patch for modularized
framework authentication.

Review: https://reviews.apache.org/r/27494
Integrated CRAM-MD5 Authenticatee module into tests.

Review: https://reviews.apache.org/r/27495
libprocess:  Replaced the ip and port pairs from UPID class and process namespace with Node class.

At the moment, the Node class is used to keep a mapping from a socket to the ip & port pair in the process namespace.
I want to propose to extend its use by replacing the ip & port fields from the UPID class and process namespace with this type.

Review: https://reviews.apache.org/r/27446
Replace the ip and port pairs from UPID class and process namespace with Node class.

At the moment, the Node class is used to keep a mapping from a socket to the ip
& port pair in the process namespace. I want to propose to extend its use by
replacing the ip & port fields from the UPID class and process namespace with this
type.

Review: https://reviews.apache.org/r/27447
Add TASK_ERROR to CHANGELOG for 0.22.0

Review: https://reviews.apache.org/r/27930
Added module loading to scheduler driver.

Review: https://reviews.apache.org/r/27806
Integrated CRAM-MD5 Test Authenticatee module into scheduler.

Review: https://reviews.apache.org/r/27812
Updated upgrades.md and CHANGELOG for changes on AuthenticationStartMessage.

Review: https://reviews.apache.org/r/27675
Fixed scheduler driver to not acknowledge status update when stop() is called.

Review: https://reviews.apache.org/r/27896
Fixed a bad logging message in libprocess initialization.

Review: https://reviews.apache.org/r/27932
Updated CRAMMD5Authentication tests to additionally run against test authenticator module.

Review: https://reviews.apache.org/r/27619
Updated CRAMMD5Authentication tests to additionally run against test authenticatee module.

CRAMMD5Authentication tests now cover all default and modularized
authenticator/authenticatee combinations.
Also adds a test for missing credential for the authenticatee.

Review: https://reviews.apache.org/r/27651