Add way to check if mechlistMIC must be produced

During a SPNEGO negotiation, if the mechanim used is NTLMSSP and a MIC
was produced internally in the final initiator mechanism token,
Microsoft servers require a mechlistMIC to be produced even when
NTLMSSP was the most preferred mechanism.

Add a function check_mic_required which queries the mechanism to
determine whether we might need to produce a mechlistMIC for
interoperability, and sets sc->mic_reqd if so.

This function is called intentionally after every
gss_init_sec_context(), although only the second call can actually
return a meaningful answer.  The first call signals to the NTLMSSP
mechanism that the SPNEGO layer does support forcing a mechlistMIC, so
that the mechanism can avoid puting a MIC in the final initiator token
if forcing a mechlistMIC is not supported.

[ghudson@mit.edu: clarified commit message]

ticket: 7907 (new)