Cleanup session context for SASL only in _sx_sasl_free.

On authorization failures, the session context does not need to be freed
as the _sx_sasl_free is called anyways. We just need to free it there at
the end of the session's lifetime, otherwise we end up with double free.
Merge pull request #74 from sdebnath/sasl-fix

Cleanup session context for SASL only in _sx_sasl_free.
Move the session null asserts closer to usage.
Merge pull request #75 from sdebnath/fixes

Move the session null asserts closer to usage.

Operations that do not call onto authreg's new APIs, do not require session, so the asserts are not present in those cases: 
sx_sasl_cb_GET_REALM
sx_sasl_cb_GEN_AUTHZID
sx_sasl_cb_CHECK_MECH

They are present for the ones below because they are making call with the new session parameters.
sx_sasl_cb_GET_PASS
sx_sasl_cb_CHECK_PASS
sx_sasl_cb_CHECK_AUTHZID