JCBC-346: Supporting CRAM-MD5 as a SASL mechanism.

This changeset implements support for CRAM-MD5 as SASL mechanism,
by sending a "list sasl mechs" first. Depending on the response,
either CRAM-MD5 or PLAIN will be used.

Regular memcached servers wil make use of PLAIN as before, but
systems that support it (like couchbase) will use the more secure
variant.

The list sasl mechs process will only proceed if the AuthDescriptor
either gets null or an empty list of mechanisms in order to be
backwards compatible, so no changes to code need to be done when
upgrading to a new version.

Change-Id: I7c7e935e4307c181f98e5ff5615b18cba3f403b4
Reviewed-on: http://review.couchbase.org/28292
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>